home *** CD-ROM | disk | FTP | other *** search
Text File | 1980-04-15 | 129.7 KB | 2,092 lines |
- Pacman diary by Tony Brice. 30th April 1993.
- --------------------------------------------
-
- Day 1: 30/4/93.
- ---------------
- Yes, I know it`s been done squillions of times before but who`s counting?
- Besides you couldn`t ask for a better introduction into the Amos language
- than something like Pacman. Besides, this one will be special. At least that
- is my intention.
- Gathering what knowledge I gained from my first stab at programing
- in Amos - Ping Pong no less - I am aproaching this one with a little more
- thought. The pen and paper came out prior to any coding at all, and I have
- set myself up with a few rough notes on what the game will actually look
- like when it is done, and, having done this (and much easier it was to), I
- set up some sprites after deciding what colours should be in the game and
- using the same palette for both the icons - which will be used to display the
- map - and the sprites to be moved - such as the monsters and pacman himself.
- nd backgrounds in different colours and seeing the problems it creates later
- on when it comes to displaying them. Now the graphics are finished already -
- for now. Well, how many sprites did I really need to define - and I can
- move on. Some notes were made to keep track of all the definitions as well
- as a list of all the colours and their numbers. This will solve one of my
- greatest pitfalls when writing something, namely the lack of colours I use,
- due to me using my Amiga with a black/white telly for many months. And,
- after writing the code to display my sample screen, it looks blinding, and
- the colours are totally right after a couple of botched atempts on the sprite
- designer for not thinking and utilising the colours properly. I have yet to
- see the sprites in action but I don`t forsee any problems there, providing
- Amal is feeling cooperative. Quiet a productive start and it didn`t end
- there.
- I used my Dpaint disk for the first time today and, after getting to
- grips with the functions, I put together a simple little title screen, with
- some text in many different fonts (and colours of course), and a little piccy
- of the hero of the game. It looks very good for half an hours work, and is
- now functioning as the title screen. This picture, after a set amount of time
- flips to another screen which shows up the top five scores as well, so, for
- now, this is the front-end complete. I`ll go back to it after the game is
- finished so that I can make some nice little special effects in there. Who
- knows, what title screen can be complete without a scrolly, and I think I
- know how to do one now. Not to mention some bouncing screen effects as well.
- I stuck in a little bit of music which can be toggled on or off with a quick
- tap of the M key. I like the sound of True Faith by New Order as much as
- anyone, but when you`re listening to it a million times over while checking
- the game for bugs and glitches it can be a bit tiresome. Still, I hope you
- like it.
- The sonix2,1 program on the Amos disk converted the tune for me and all I had
- to do was stick it in a bank and save it out with the main program. I am
- getting to grips with Banks as well now, and it is certainly making life a
- lot easier. Now if only I could find a way of saving out my title picture out
- into one, then I wouldn`t need to load it in each time the game is run. But
- at least it only needs to be done once, as I can keep it on it`s own screen.
- And boy does Amos make this easy. I almost feel guilty. I said almost. I have
- had some teething problems before it all came together.
- So there we have it. A title screen, music and graphics, as well as
- the code to display the map all on the first day. Could be a record time on
- for completing this one. And it will be one hell of a boost for morale when
- I put all the routines onto paper, and then dive straight in with the player
- control bit. Then I can see my lovely sprites in action. And, time permiting
- - I have a living to earn as well - I get the meanies and inteligence bit in
- as well. That done it should be plain sailing. By the way, I hope you aren`t
- expecting an easy game because I have four nicely coloured ghosties who are
- gonna prove otherwise. I can`t wait to see them zapping round the maze. Time
- to hit the sack now, so that has to wait till tomorow. After all, it is
- 4.12am.
-
- Day 2: 6th May 1993.
- --------------------
- As usual I have proved to myself yet again that nothing is ever as easy as I
- think it is going to be. Problem number one: I can`t seem to get to grips
- with the sprites no matter how hard I try. I have given this up for a more
- fortuos route - that`s a big word for 12:35am - and have stuck all the sprite
- definitions into bobs instead; these I can manipulate and at last I am
- getting somewhere. I think my problems could lie with the automatic sprite
- update functions etc, which I am looking into so that I can update them all
- myself. Bobs will be just as good for this game anyway and I can keep trying
- to get sprites and Amal to show a little coperation. I have also got serious
- problems with the colours. My bobs wont use their true pallete unless I use
- the Get sprite Palette command, and, for some totally stupid reason, this
- changes the colours of my Icons that display the map. I wouldn`t mind but I
- designed both sets with the same Palette so this shouldn`t happen. I think it
- is time to redo the graphics, this time making sure I get it right. I need
- some more sprites for the score when you kill ghosts etc.
- I have finally - after much tweaking with the control methods etc -
- got mr. Pacman esq` up and moving properly around his little maze. He doesn`t
- eat the pills or anything yet but the collision checks are all there to make
- sure he can`t walk through walls etc. This made me feel a lot better once I
- had it up and running. I should be able to use the same routines to move the
- ghosts as well so that is one major headache out of the way. Speaking of
- which, I am developing one hell of one right now. That`s what comes from
- using the computer all day.
- Had an interesting idea for a clever graphic effect today. I want to
- have two screens over each over on the display, one with the main picture
- and another totally black with a big hole in the centre that moves around
- displaying whatever is underneath the hole only. I don`t know where to use
- this yet, but I saw the effect on the telly and thought: I can do that in
- Amos and there you go. I have got to use it somewhere. More thought on this
- later. Maybe I`ll do a better picture for the title screen too.
- And to wrap off, I had a fiddle with Stereo master today as well. I
- think I have a few samples I can use for sound-effects, providing I can find
- a way to import them into Amos. Should be fun.
- I have the game roughly on paper now, which will make life a lot
- easier once I get into the flow. Still no problems with speed and hopefully
- I can keep it this way when the baddies are up and running as well. Next time
- I hope to get the score screen up. We`ll see.
-
- Day 3: 10th May 1993.
- ---------------------
- Spent all day updating my Amos system yet again. I now use three drives with
- disks in to hold all the data and utilities I should need for development. A
- lot of fiddling was called for here as I had to make sure that Sid was used
- properly, ie: all the menus and buttons were set correctly, so that Df1: is
- not used to save anything to as it does not write to that drive for some dumb
- reason. The drive probably does not work properly, still I got it for nothing
- so I wont complain. All done now anyway, and Graphic converters, a desk top
- calculator, sid and Deluxe paint are all ready for instant access. I just
- love having everything I need to hand by building my own custom system, but
- now I probably wont use half of it. Still its there and that is good enough
- for me.
- Further progress in the Music conversion process today. The reason I
- could not convert some of my Cover-disk music files to Amos banks was because
- some were crunched with Powerpacker and I had not realised. Some serious
- slaps to my forehead, and a little fiddling, resulted in more music available
- to use, and some in-depth knowledge on using the trackplay commands in Amos.
- My music problems are now most definetly solved, and I am totally spoilt for
- choice as to what music I can use in the game. Maybe I will stick to true
- faith after all. It kind of grows on me.
- Sampled sounds are being worked on now, and I do not see any problems
- in that department in the near future. I have a program with Amos to build
- a sample bank and load it in with the main code so that any sound I like can
- be played in any way I choose. All I have to do now is find some suitable
- effects as I dont have access to a sampler so that I can create my own. I
- think I will be having a lot of fun getting some together. It is just a
- matter of deciding where I need them.
- Tomorow, if I ever wake up, is my day off, so I hope to get the main
- sprite moving about and eating dots etc, as well as the score screen up and
- updating smoothly. Then it is time for the meanies, and the tricky problem of
- keeping the speed right. Definetly one for the compiler once I have finished
- as I have just about had enough of Amal. Once I am in buisness there, I will
- have to go back to the graphics and start over. No great sacrifice as the
- last were not to brilliant and I need extra definitions anyway. I wonder just
- how fast Amos can paste icons anyway. Hey, hang on, worry about that
- tommorow.
- It is time to hit the sack. Later.
-
- Day 4: 11th May 1993.
- ---------------------
- Now how do I describe today? Well, the weather was nice. What do you mean
- never mind that, how about the game? Well, I did what I wanted to. Not very
- helpfull, eh? Well, I`m getting to it. The movement for the pacman is working
- and he does eat the dots now, and the score display is up and running, but,
- and here is the big but, it doesn`t work that well. The character moves too
- fast when he isn`t gobbling dots, and to slow when he is. The main problem is
- animating the character smoothly: it is going to need to be rewritten. I have
- already done it from scratch four times and none of them were efficient
- enough. I need the speed to be balanced wether he is eating or not and I have
- to keep the same speed even when I put in the ghosts moving.
- There is no real way to check this without having them moving as well but I
- am just putting in a rough delay loop for how much processing the enemy move
- routine will take. Not very accurate but it will have to suffice as I want to
- have the player movement totally right before I get into that part as the
- main code will be much bigger by then so I will have to convert routines into
- procedures and fold them up when I no longer need to edit them. Anyway, back
- to the point, I don`t want the player to move in block jumps, ie: moving 16
- pixels per move to keep in line with the maze blocks, so I have to freeze
- input from the joystick while I move the character a pixel at a time until it
- has reached its destination, but I have to update all the other stuff in even
- movements regardless of wether the player is moving or not. It is all a
- matter of synchronisation, and my code is just not acceptable at the present
- time. Next time I am going to strip & rewrite it yet again. And again if I
- have to, as I want it to feel good as well as making sure the game is not
- sluggish. If I have to do a major rethink then so be it. If I think this game
- is worth doing (which I think it is) then there is no point in compromising.
- The person playing it will just delete the disk or throw it in the bin, if
- they don`t feel comfortable with the game, despite how good it looks or
- sounds. Then the whole effort would have been wasted. I`ve seen too many
- unplayable games to get away with poor control myself. Okay, enough of the
- concience crap. What else got done? Not a lot actually. This part has to be
- right, which is why I am spending so much time on it. I`ve stripped the code
- a bit and rearranged the routines to gain that little extra speed that will
- probably be needed later, and I have made the game loop back to the title
- screen each time Pacman eats all the dots. I have got the game sorted out so
- that it needs to only go to disk to load the title screen IFF once, and just
- hide the screen while in game. No annoying disk access here. Well, how could
- you get away with it in something as simple as Pacman, I ask you. And just
- to really ruin my day, printing the score really slows things up, even if I
- only do it when it needs updating. What a pain. That is something else to
- look into.
-
- Day 5: 22nd May 1993.
- ---------------------
- Wow, ten days since I last did any work on the program. I guess today I ought
- to achieve a lot so that I keep interested. I put in a lot of effort on the
- sprite designer today, and came up with the brilliant idea of having the
- icons (the bits that build the screen) as sprites and just displaying them by
- using the paste bob functions. This gives an added bonus of just one Palette
- ored. Everything is
- now displayed in the colours I want them to be. So if you don`t like the
- colour scheme then I can`t blame Amos. The new sprites look a lot better now
- that I have redifined them, and I think I will have another crack at them at
- a later date, as even I can do better than I have already done, and I am no
- artist. They are functional at the moment though, so the other tasks are more
- important.
- Finally got pacman eating the dots today. I had to change the clear
- character routine, as I couldn`t paste an empty floor icon over something
- which needed to be erased as it would just draw over the top of it. I could
- not define an empty square over it either as it just would not show anything.
- I solved the problem with some clever use of the locate function, which would
- draw a box of four spaces underneath the pacman sprite in black. Crude, but
- effective although I might alter it later.
- I would have got onto the new player-movement routine today but for
- ght as it is my sisters
- engagement and I have to get ready. And Two: I have recently quit smoking &
- I don`t have the concentration prowess without nicoteen at the moment to get
- into some heavy coding that will be nescesary to get it right.
- Until next time then.
-
- Day 6: 23rd May 1993.
- ---------------------
- A definite plus day today. Still of the fags, but I have a full pack just
- sitting in front of me as an exercize in will power, so we`ll see how long I
- can last. Concentration is not all it could be, but perseverance reaped its
- own rewards and I now have the pacman moving at an equal speed wether he is
- eating dots or not. The drawing a few spaces underneath the pacman to clear
- that bit of the screen was just to crude and slow so that had to go. A shame
- as it took me over an hour and mucho fiddling to get it in and working how I
- wanted it. Still, never happy, that`s me. I now have a different background
- colour behind the dots so that I can paste a blank icon over the space when
- er and it means I have some spare speed for
- when the meanies go in (soon now I promise) and then I can synchronise it all
- for the final time so that the speed of the game remains constant no matter
- what is happening. A little more work was spent with the sprite designer
- again today. Still not totally happy but things are looking better. I think
- once the meanies are in I can look over the whole thing again and see how to
- do improvements. I designed the monsters ages ago and have yet to have them
- up and moving so that I know if they are alright.
- A new title screen picture will have to be drawn. I want to lose some
- of the text (that is basically what the old one is. loads of text in as many
- different fonts as I could cram in.) and have an actual picture with a big
- square box in the centre for displaying high scores and things like that. A
- session with Deluxe paint is called for in the near future but first I have
- to get the enemy sprites on screen and moving. That`s next.
-
- Day 7: 24th May 1993.
- ---------------------
- Yesterday I finally put the enemy monsters in and got them moving. Much
- hassle as I expected, but finally they moved around without cheating by
- climbing over the walls, and, surprisingly even to me, the speed was still
- top notch. Definetly room to fiddle about with the inteligence. The dummy
- routine I have at the moment is just useless as they don`t even move unless
- they get a clear path to the pacman then wham bang and they are on top of
- you in no time, even if you do get three moves to their one. They also have
- the annoying habit of all ocupying the same square so you never know how many
- their are as they all move over one another. Just what I need. Monsters that
- prefer to go for each other rather than the player. Some working on the
- inteligence is the object of the day for today. I am thinking on the lines of
- them having a set path, and not changing direction until they reach a wall
- then they can have a rethink based on where the pacman is at that time, and
- this will be hell to implement, though I think this
- is how the original games inteligence actually worked. Also, if I can keep
- the speed up, then there will have to be four monsters - not three like I
- have at the moment - and I hope to actually have them moving in pixels, not
- blocks like I was forced to make the pacman do due to the screen layout
- changing as he moved. The synchronisation should be pretty easy to do once
- they move properly and I don`t forsee too much problems with speed. Not that
- I have had any so far apart from when the score is being displayed with the
- action. Still have to come up with a way of solving that little problem.
- If I can get a better inteligence routine - I have the whole day to
- try - then it is probably time to make the power-pills actually do something
- and get the collisions in. Probably easier to check the block positions on
- pacman with relation to the baddies, rather than using the collision commands
- cause I`ll never know what is moving over what at the time pacman gets hit.
- later anyway. Here goes nothing.
-
- Later:
- ------
- Much more work on the inteligence put in now. The monsters are still thick,
- and I wont be happy with it until a lot more effort is put in, but the little
- bleeders can surprise you. They catch me out sometimes and I wrote the little
- routine to move them. Very unpredictable they can be and this is a downfall
- as I have to try and work out why they sometimes follow a preset path, or
- sometimes go all out on your tail, or sometimes just stop for a tea break
- until your x and y cordinates match and they kick in with fuel injection.
- I still have to get the power pills working but the baddies now end
- the game if they hit you, though they still all want to occupy the same block
- and I haven`t got the patience to put in all the extra bits of code to stop
- them being so close. I have roughly got the inteligence working now. At
- least it will do for the moment, so I am going to get on with the rest of the
- , and come back to it.
- I have to find a way of displaying the score while keeping the speed. I also
- need to put in the code for the warp gate - you know, the bit where you go
- off the screen on the left and reappear at the right and vice versa. It is
- a bit of a bugger going down the path with a wall at the end of it to get at
- the dots down there and seeing all the monsters come haring down there after
- you. And there is no way out of it. Then again the buggers are too stupid
- most of the time to follow you anyway but when they do it`s game over as I
- haven`t given you 3 lives yet. That should be done today as well. At the
- moment I have two little messages that come up when the game is over. This
- will obviously be changed later on. They are just there to tie up the loose
- ends so to speak so that I have the space to put in the end-game sequences
- later and so that the game does not keep jumping back into the editor when
- I am debugging. When I get the score screen up and working properly, I want
- et a high score and have a little box
- with the alphabet in and a moving cursor to select the characters for your
- name. A lot more polished than just a text entry cursor, and it`s something
- I wanted at the begining which is why I already did the cursor in my sprite
- collection. That bit should go in today as well as having the high score
- table actually working rather than dummy data.
- Okay then. Back to the grind. Now where the hell do I start.
- Well, the title screen seemed like a fun place to start, so, instead of
- totally stressing myself out on incorporating the monster munching code, I
- stressed myself out with Dpaint II and tried to come up with a new Title
- screen. The new one does not look as good as the first - because I`ve got rid
- of all the text and now there is a lot of empty space - but the main box for
- mid-screen is there and providing I leave that the way it is, I can always
- edit around it later when I decide what to draw. A lot of intense work has
- s have been implemented.
- Gone is the flipping between screens routine. No need for it, as I have the
- box in the centre of the title screen to display stuff like credits and the
- high score table. All of the routines to display high scores etc have now
- been written, and a very nice atract sequence it looks now that it is
- finished and tidied up. I have a clever routine to clear the inside of the
- box without altering the screen and so I just put in the subroutines to
- display everything in a predetermind (did I spell that right?) order and
- bounce some bobs around to create some movement to keep the watchers
- attention. It looks good, and for once I have done something I am happy with.
- A few fixes were made so that the game can be started almost instantly no
- matter what is being displayed were put in and, thanks to the speed of Amos,
- everything is synchronised brilliantly. Hell, I even had to shove in a few
- delay loops, as colours were cycling to fast when the high scores were
- r with the best score has his name up
- in flashy fashion. As far as I am concerned this bit of the front-end is now
- finished, as otherwise I would probably go on forever just toning up the
- cosmetics as I thought up new ideas. Now I have to get the game matching the
- presentation, although I want to get the high-score entry bit in next, as I
- have never atempted to try a routine like the one I want to put in for
- entering your name, and I want to get the music for it in as well. I already
- have the tune on disk ready, and the nescesary code for playing it in the
- background. And I am impatient to get it up and running. Besides nobody said
- I had to write this game in a progressive manner, and, after all, it is
- nearly finished. Until the next instalment.
-
- Day 8: 25th May 1993.
- ---------------------
- Decided on forgetting about the high score entry routine for the moment, as
- my brain went into overdrive at work today and I coined a rough routine in
- said
- earlier in the diary that I could not seem to get the bobs moving in pixel
- by pixel manner and I gave up in frustration and settled for block movement.
- That compromise has been niggling me ever since so today I finally got stuck
- right into it with a vengance and got the main character and the baddies
- finally moving in a smooth pixel by pixel manner. It looks a lot more
- profesional, if slower, but I can always fiddle with the update rates via a
- skill level selection option on the title screen - about time this game had
- some options to speak off - so the game can run at the players choice of
- speed.
- Still on the gameplay front, I have had a few new ideas with regard
- to the inteligence of the monsters. I think I should make them keep moving
- in the direction they start off in, and only change direction when they come
- up against a wall, when they can reasses where pacman is and go another way
- instead. I think this is how the arcade game actually works, and I am hoping
- ably mean a major rewrite of the
- entire inteligence routine which I am not looking forward to, still the game
- can`t be left as it is, as it is way to easy to avoid the little bleeders,
- and this does not make a challenging game.
- Keeping in line with the original arcade game, I have decided to
- incorporate two different modes of playing: Arcade & custom. Custom will be
- the current way - ie: pacman only moves when the joystick is moved. And
- Arcade will be like the original, where pacman moved in the selected
- direction untill the joystick indicated elsewhere or he headbutted a wall.
- This should make the game appeal to more people, as the lazy ones of you out
- there - come on, own up - only need push the stick every now and then, while
- the others can rely on a good joystick & fast reactions to keep the pacman
- on his toes. Definitly idea of the month this one, and, in theory, it should
- be pretty easy to code. Famous last words I suspect, still now I am commited.,
- re entry bit
- sometime in the near future. Like Magazine reviewers always say: Gameplay
- comes before polish. I`m not fussy. I want both.
- Having said this, a few minor alterations were made to the front end
- bits today. Moving the joystick is now like a fast forward command to the
- title screen telly, and lets you move to the bit you want to see very quickly
- This is for those who want to see the high score table again, when it
- has just disapeared and you forgot to see who was in second place and wont
- see it again for another thirty seconds. Maybe it isn`t nescesary but it
- seemed like a nice idea at the time, and presented me with a little sideline
- to think on while I sorted out the animation for pacman routine in my head.
- I`ve also fixed the title screen so that fire will start the game as soon as
- the button is pressed rather than the computer ignoring you until it has
- finished what it is doing. Not very user friendly. And downright unsociable
- come to that. It works fine now anyway. That`s all for today.
-
- 9: 26th May 1993.
- ---------------------
- Pretty good today so far. Got the Arcade and Custom modes both in and the
- apropriate mode selection on the title screen. Took a bit of fiddling to get
- it up and working right, especially when Amos decided it wanted me to clear
- all the bobs off the screen when the game starts before it would let me see
- any characters again. Heaven knows why, but it was a right pain trying to
- find a bug in my code which didn`t actually exist, just because I took out
- a command I didn`t think was nescesary at the begining of the game loop. I
- mean there is no point in zapping all the bobs left on the title screen when
- you are just going to display them again in the wink of an eye so I took out
- the command and then spent an hour wondering why I had nothing moving on
- screen and the joystick was playing eat the dots with an invisible pacman.
- Most annoying at the time. Anyway problem solved now, and the skill levels
- are in as well. At the moment all it adjusts is the Monster update rate, but
- efully I can get it to be a bit more inteligent depending on the level.
- The code for the enemy inteligence definetly has become top priority now. At
- the moment, for some strange reason I just can`t fathom, Pacman moves very
- slowly unless the baddies are moving as well, in which case he moves quicker
- and more smoothly. I would have thought this would be the other way round,
- but not so. I have some work to do here I think.
- And again I had to do a little work on the front end. I don`t know
- why I keep saying that I am finished here. I still keep finding things to do
- with it. This time I had to display the current options and make them
- selectable as well as put in a little routine to not start the game until
- you push and let go of the fire button so that the endgame screens don`t
- flick off and you start the game again imediatly. Surprisingly that worked
- first time, unlike any other routine I have written so far. Now it`s time to
- make the baddies have an IQ of Mensa standard. Don`t try this at home folks,
- qualified Surgeon/Butcher.
-
- Later
- -----
- Oh boy, what a day. With the exception of a couple of hours, I have been at
- this inteligence routine nearly the whole day. I am currently on the tenth
- rewrite and I am still a bit of a way off. I keep coding a massive chunk of
- comparison and if = < > etc lines and ending up with a huge block of code
- that does not do the job very well at all. I have lost count of how many
- times I have stopped to rethink the whole thing through. Just my luck to be
- having problems with something that is absolutely vital to the gameplay. To
- make matters worse I suspect I am going to have one hell of a job keeping
- the speed right once I do get them moving inteligently, as everyone knows,
- the more instructions the computer has to process, the longer it is going to
- take. Here I go again for another crack.
- Well, a little more success now, but I still am far from happy. The
- enemies are pretty smart now. One fatal move that lets them to near your tail
- e problem of monsters hugging
- each other. Not to worried about it at the moment as I want to have each of
- them with a different form of inteligence by the end of the diary and game.
- What a challenge: I`m having enough problems just getting them to use the
- routine I have now. Next game I write will absolutly not have Artificial
- inteligence. It is driving me up the wall. Having said that I probably will
- use it again, as I should know how to do it after writing this one. Live and
- learn as they say. The routine for baddie movement is a lot smaller and
- neater now, so the speed should be kept up, even though I still have to work
- on it, because I am trying to make sure the baddies never stop at all, which
- they do sometimes at the moment.
- I have subconciously abandoned the fourth baddy. I don`t really have
- room for it on screen and I think It will be to dificult with him there, if
- each monster is following different routes. Especially if the playscreen is
- not that big.
- day, as I deserve a
- rest, even though the inteligence problem will probably bug me all night. I
- hope I`ll come up with some ideas when I am away from the computer like the
- animation routine. It`s amazing how quickly you get used to something being
- there. I was trying for days to get the bobs moving pixel smoothly but just
- couldn`t do it, and then, wam, inspiration, and I hardly even notice it now
- that I am embroiled in some other problem. I suspect that is what programing
- is probably about. Next week I probably will just take it for granted when
- I have three super fast baddies closing in on me and blocking off all my
- exits while I am trying desperatly to grab the last dot.
- And to another future thought. What sort of sounds am I going to use
- in the game? And where am I going to get them. Just another day in a tired
- programers life. Why is it never easy?
-
- Day 10: 2nd June 1993.
- ----------------------
- Had to take a few days off due to a sudden mystery virus that put me
- mputer. Short wages next week I think.
- Still not recovered yet but, as Pink Floyd say: The show must go on. Don`t
- know how much I can get done today, but I have to finish the inteligence bit
- sometime, and it is getting to be sooner rather than later. I have lots of
- other bits to work on, which I can`t even start on until this is done. It`s
- become annoying more than anything. I`ve even come up with a rough plan for
- my next game. More on this later on in the diary. Now back to those f**kin`
- baddies.
- Ever had a day where you feel like a total prat but hate the idea of
- admiting it. This is one of mine. Spent at least four hours on another total
- rewrite of the code. It looked like I had a brilliant inteligence routine at
- last, the only minor problem I had was that the monsters map data wasn`t
- cross referenced properly - or so I thought - so they were stopping and
- changing directions at invisible walls and floating straight over others. It
- e.
- I thought I had just entered a line wrong or something so I spent about two
- hours looking through for an error it later transpires was never there.
- Confused? I know I was. Well, let me explain. I got totally Pissed
- off with the dam thing in the end so I reloaded my old version before I had
- made any changes and spotted the error straight away. I had been using the
- X and Y pointers on the enemy map data the wrong way around and as a result,
- the enemies had been totally confused as to their actual position on the map.
- Gutted? You bet. All that hard work down the drain for nothing. I am
- now going to put in what I can remember and hopefully I`ll have it right this
- time. Back in a minute. What a time to run out of cigarettes. So much for
- giving up, especially as I`m meant to be ill.
- Right. That`s enough. I`m spending to much time getting nowhere and
- for now I am drawing the line. The code just keeps getting bigger and the
- whole thing is just not coming together. Sure, I could go back and start
- over parts of the program while I am trying to put this bit
- together but I am not going to. I am going to stay the hell away from the
- keyboard for as long as it takes, and try and devise an inteligence routine
- on paper that works and then code it. I have just about had enough of this
- trial and error aproach that I have been using for the last few sessions. It
- has worked okay for the rest of the program, but, as I should have forseen,
- something like this needs a lot more thinking about. I will return. Though
- I don`t know when, as I have another game idea to put to paper as well. And
- what an idea. See ya.
-
- Day 11: 3rd June 1993.
- ----------------------
- There, wasn`t gone that long was I. I made the mistake of giving up
- on my last game because I got totally tired of the way it was turning out, so
- this time I was determined not to give up so easily. It is really despairing
- to give up on something after spending so long on it. I worked out a new
- ning the
- computer off, and I have just had time to type it in this morning before I
- have to go to work. It is working well enough for now, and I have even put
- in a thick or smart option which determines how smart they actually are.
- What it basically does is tell the computer to watch where you are all the
- time if they are smart but only check where you are when they hit a wall if
- the thick mode is on. It works okay for now, but I`m sure that the computer
- could be made a lot smarter. Then again, I don`t intend to push it right now.
- Went through the code just to straighten up a few short cuts I put
- in. The game was bypassing certain routines so that it would run quickly
- while I was gametesting, so I had to put it all back to normal.
- Very soon I am going to go through the whole game code - it`s rather
- large now - and tidy it all up. This is mainly for speed reasons later on,
- although it will ease my peace of mind. I can probably stick some of the
- hat editing is
- easier.
- I have to get the power pills working now, but I still have to work
- out how to display the score without slowing right down. I will have to try
- a second screen and see if that helps.
- A lot of thought is going to be needed very shortly even though,
- technically, this game is nearly finished. I have to decide what to do with
- the advancement of levels. Should I make the baddies move faster as you
- progress? Should I make them more inteligent? I should be so lucky. Should I
- have another couple of maps? Maybe load new ones in off disk and write a map
- editor so I can save a few. I still have to put in the gateway off left &
- right ends of the screen. Baddies not allowed, I think. And maybe the high
- score entry routine just to finish it off. All will be revealed in the end.
- At least I`m not so apethetic as to want to give up today. Maybe things are
- looking up.
- To think, when I started this game, I thought it would take a day, or
- session.
- That was just cosmetic. Not far to go now, anyway.
-
- Later in the day - otherwise known as early the following morning
- -----------------------------------------------------------------
- I have decided that a few of the actual gameplay routines are long past
- putting in time. Okay, so I haven`t decided what to do when the screen is
- completed yet or stuff like that but things like the pacman dying animation
- and the powerpills working etc all need to go in soon. Also the lifes bit &
- the displaying scores etc needs implementing. This is all to come but some
- major upgrading of my Amos development disks was called for today so that I
- could put the new version of Protracker in the system as this has the best
- tools for sound sampling and music editing yet. Even better than Octamed
- though the two don`t appear to be compatible. No great problem as I have
- never really used Octamed that much anyway. I can`t edit a lot of the old
- music files I have with Protracker but they can be converted if I find one
- ike anyway, via Amos. It`s with the sound effects that I really
- need this program. This is my current action plan at the moment, and I have
- got hold of lots of pacman-apropriate effects from using this tool, and I
- now have all the effects the game will need in a bank ready for use. My
- first step was to write a small program to fiddle with the sounds so I could
- find out how to use them best rather than the clumsy and time-consuming try-
- it-and-see method that I am used to using. The program was duly written and
- the pen and paper came out for making notes, and, finally, I have finished.
- No, the sounds are not in yet. But they will be as I now know exactlly which
- ones to use and where. P.S. I`ve got this really sexy computer voice to rub
- it in and say Game over when you blow it. It sounds great now that I`ve
- resampled it and adjusted the tempo etc. Pity I only use it the once. Right
- then, enough of the gassing, I have to put in the sounds that can go in
- effects for.
- Pacman can`t eat the monsters yet as the power pills have no effect until I
- get around to it. I`ll get there one day.
- This will be my final entry of the day as I really have to get to
- sleep sometime. It`s amazing just how much you can actually get done if you
- put your mind to it. I`ve been at it about two hours since my last entry in
- the diary and I have achieved an incredible amount. It might not sound much
- when I say what, but it is in programing terms. Just shows how much you can
- do if you are in the right frame of mind and things are going well. The
- sound effects are all implemented now, and I also have Pacman with three
- lives. The death routine is in complete with animation, and the pause mode
- and jingle bits are complete. The music I was going to use for entering a
- high score name is to be used for clearing the screen of dots now, so I
- might need to find some more for that purpose. The warp gates are in and a
- godsend they are to if you get trapped down the dead ends. Just stab fire
- man evaporates to appear at the other end. Very nice it looks to, and
- it doesn`t half feel good when the monsters are gobbling on empty space
- where you used to be. Now that the sound and these simple little bits are in
- the game feels 100% better already. I`m feeling good about how it will be
- when finished now. Once I put in the power pill bits and have Pacman gobbling
- monsters then it is just a matter of tuning up the inteligence (I`m going to
- hate that bit) and working on the dificulty bit so that it is hard but not
- to hard. Then I have to decide on different screens or not. The title screen
- is going to have to go back to Deluxe paint again because I need another
- option on screen and I have nowhere to put it. I want to have the number of
- baddies on screen selectable, and the old screen is looking clumsy now that
- I have put in all these options. The code is getting very big now. I will
- have to go other the whole thing once finished and trim it up so that the
- f keeping the title screen
- saved with the program so I don`t need to keep loading it each time the game
- is rerun. It looks very ameatur and I don`t think the compiler will like it
- much. Besides, the game needs to be all in one file ideally for ease-of-use.
- Expect more progress next time. Bye.
-
- Day 12: 4th June 93.
- --------------------
- I can`t believe I was up and at it this morning at about 8:30. It`s my day
- off and I usually lie in. Still can`t be a bad thing. Haven`t touched the
- game yet, but I have redrawn the new title screen on Dpaint and put in a
- box on the top which will show all the options and let you highlight them &
- change them with the joystick, all going to plan. It means there is going to
- need to be some serious revision of the front end code but it has to be done
- as the old one is to clumsy. Due to my stubborn insistence on keeping the
- mid-screen box for displaying high-scores and other info, I had to put this
- options box at the top of the screen and the pacman logo at the bottom. It
- rd there but there isn`t a lot I can do about it unless I rip
- everything out and start from scratch. I don`t think so. Made a mental note
- today not to start fiddling with the front-end of any future programs until
- I know what options will need to be set. This has been the third time I have
- had to redraw the main screen and it is becoming tiresome. Oh boy, I hope I
- don`t think of any more options, I absolutly refuse to do another redraw. As
- an added bonus, I also think I`ve worked out a way to save the title screen
- graphics out with the main code so no more loading each time I rerun the
- game. A godsend let me tell you. Got to go and get a haircut now, and go
- watch strike it lucky being recorded at the studios later so I don`t know if
- I`ll actually get back to it today. Until next time.
-
- Day 13: 5th June 1993.
- ----------------------
- Started off the day reading up on Dpaint II for the first time. All the time
- I`ve used it until now had been by a process of trial and error so I thought
- how to use it properly. And boy did I learn. I
- also spent a couple of hours rearranging my computer system around as I
- didn`t like how it was. Much arranging later and I have come to the heavy
- conclussion that I need a new - bigger - desk. I`ve accumalated so much
- equipment and disks that I don`t have the space and shelves for it all, and
- everything is really cluttered. Maybe when I can afford it, I`ll invest in
- a new desk and build some shelves. Anyway, after much fiddling with Dpaint,
- I have done some more work on the title screen. Ok, it still looks rubbish -
- like I said, graphics are not my thing - but it looks a flashy rubbish as I
- have been playing with differing - where I defined set ranges of colours and
- filled areas of the screen with this shade in pixels which goes from dark to
- bright in ranges of colours - and it looks quiet clever and saves hours in
- comparison to doing it manually. It`s very colourfull as well. Put in the
- nescesary alterations to the main code so that it doesn`t load from disk
- more and is saved as a bank. That has brought me to the conclussion that
- I ought to set up a seperate disk to store all the files/editors/banks and
- notes as a back up because the only copies I have at the moment are stored
- with the main program code. It is quiet big because of this but like I said
- I didn`t want the game to load off disk, and I have no storage space for the
- routines on my development disks as well. Some crunching of the whole game
- will be done at a later date as well, just to round the whole thing off into
- one - smallish - file. I hope the compiler knows what to do with banks. Oer,
- that never occured to me before, but I shouldn`t think there will be any
- problems. Now I am going back to the game to put in all the options select
- bits and display them based on the new designed screen. This is going to be
- another matter of trial and error. If I get time, then the score screen goes
- in as well. It`s been to long, and where is the incentive to keep playing if
- effort.
-
- Day 14: 6th June 1993.
- ----------------------
- Well, in all I`ve been at it about 14 days, although not consecutively, and,
- as I have already mentioned, the end of the road is actually in sight. I did
- hope to get a lot more done yesterday, but the untimely visit by a friend
- put paid to that, though the options selection on the title screen is now
- complete and debugged. Took advantage of the untimely friends presence to
- get some feedback on the game so far, by letting him have a couple of goes
- and seeing how he fared against my computer inteligence routines. Once they
- locked on, the baddies got him without fail and he never did totally clear
- the screen, but he was getting closer each time, and he was also working out
- how to confuse the monsters - like I`ve known how all along - and was very
- slowly starting to use this to his advantage. Given enough goes he would
- probably have cracked it, and he is no brilliant games player - even if he
- nteligence
- routines, and I have got to improve them before I can technicaly call this
- game finished. As I have stayed away from any modifications to the routines
- recently, I have developed a new perspective on the way to do this, and come
- up with some new ideas as well, so I will indeed do some more work on this in
- the near future.
- Today has not been a day for coding so far. To start with I have had
- to work all day so the computer has not even been on till now, and it is now
- coming up to 12am - I suppose really that means this should be part of
- tomorows diary, but it is not really that important. I have been thinking
- with a pad of paper and a pen for the last hour or so, and have been writing
- down a list of routines which have to go in before the game is finished. Here
- we go then:
-
- 1. Computer inteligence tweaks.
- 2. High score name entry routine (how long have I been saying this?)
- 3. Animation on the game start. (I want pacman to fold into shape)
- I play)
- 5. Power pills need to be working, and enemy inteligence adapted.
- 6. The gobble monsters bit.
- 7. Map Load routine.
- 8. I need to write a map editor.
- 9. Clearing of screen animation.
- 10. Game over animation.
-
- That is what is needed before my task is complete, and, as you can
- see, some of it is going to be a lot easier than others. Okay, now for a
- little explanation. Point 3: the animation on game start - basically, when
- pacman dies, a little animation is triggered like in the arcade game, where
- he sort of folds in on himself before going splat. I have all the sprites
- for this little animation so I might as well play them in reverse to show
- Pacman making his grand appearance, like he does when using his warp gates.
- Point 7: the map load routine. As I mentioned earlier in the diary, the game
- had no real feel of continuity; at the moment the game just says well done
- when you eat all the dots and plays a little tune and then jumps back to the
- how to make it more fun to
- play, but I have now decided to have several screens stored on disk (or
- maybe in a bank depending on memory considerations - like I said I want to
- compile this later) to load in as you progress and I have to make the game
- get gradually harder each screen. The inteligence will have to be modified
- based around each new screen as well. Obviously I can`t put this part of the
- game in until I decide on what format the screens will be in as I have to do
- option 8 first, which is to write a map editor program as a seperate tool
- like the sound effects creator I wrote for defining the samples and their
- frequencies. As to how many screens the game will have. We`ll see how it
- goes. Maybe I`ll incorporate twenty or so, and then leave the code for
- the designer in with the game so that the user can also make up his own. The
- inclusion of multiple screens and a level designer must do a lot for a games
- lasting interest after all. We`ll see.
- parts of
- the game. At the moment I just have a little text message for each event, and
- if you cleared the level then you get a little tune, whereas if you got
- nailed then a sexy female computer voice says "Game over" Well, she could
- hardly say "Well done", eh?
- Okay, enough gabbing I think. It`s time to put my money where my
- mouth is and get on with it. Here comes the starting animation and the score
- screen. GUUUULLLLLLP!
- A definite improvement now. The score screen is in, and after much
- fiddling, is working fine. The speed is unchanged and I think some more
- can be gained when I complete the game and go through it with a toothcomb,
- just generaly tidying up, and modifying routines to take less memory and
- work more efficiently. Things are definitely coming along in leaps and
- bounds. The animation when the game starts is working as well, and a lot
- nicer it looks too. The transition between dying and restarting is a lot
- quicker and smoother, and it looks polished too. You could say I`m happy.
- `s two of the ten points I can knock off my list. I want
- to get the power pill bit working, but I have to improve the monster
- movement routine first as they have to follow different rules if they are
- on the defensive. They`d look a bit silly running after pacman, if he is in
- the eat them and gain squilions of points mode. The inteligence gets finished
- once and for all on the next session.
- I set up a seperate disk for the whole game and associated data so
- that I can develop it more easily. No more fiddling with which drive to use
- etc. Now it`s all on one disk, and I can save everything on to it when the
- game has finished so I have all the data away from my development disks and
- I can free some space on them in preperation for my next game. This seems to
- be quite a good idea as I can run out of space even on a three drive system,
- if I leave all the stuff which isn`t nescesary anymore on them.
- I`ve been thinking about what to display when the player has done
- as I`m not to hot on
- graphics - or perhaps a short animation, which can be turned off as an
- option on the title screen if the player has seen it once and doesn`t want
- to be bothered with it every time they play. Oh, no, not another option. Can
- my title screen stand all these changes. I`m also thinking along the lines of
- a picture of a newspaper saying Pacman defeated in surprise result when the
- player loses all his lives. This is not certain yet, but I am throwing the
- ideas around in the back of my mind while I am working on other bits. I have
- to put together the map editor after the computer inteligence and power pill
- bits as well because the game has to have some continuity for when I get a
- couple of friends to play-test it in the near future. There`s no beating
- about anymore, anyway. All the short routines to implement are in now, and
- it`s just the major changes to get in and functioning. Until tomorow.
-
- Day 15: 8th June 1993.
- ----------------------
- iority today. More
- fiddling around with banks etc so that I can save out my sprite bank with
- this program for easy editing. Got the main screen up and the cursor movement
- in and now its just a matter of how to define what can and can`t be changed
- on each screen. At the moment I have no graphic to show for the warp gates
- so I am undecided as to wether I should make them redifinable or not. If I
- do then a lot more code fiddling is going to be required so that Pacman
- appears at the right place depending on which screen he is in. But, if I
- don`t then there will be quiet a limit on how editable each screen can
- actually be. Maybe I should think about keeping the game like its arcade
- counterpart, whereas you go off screen and reappear at the other side. This
- would make things a lot easier in the map-edit bit as it would not need to
- keep track of where the warp gates are in each map, I can just tell the
- computer to zap pacman to the other side of the screen if he goes off one
- ing in the warp gates and their
- animation in the first place will have gone to waste. Decisions, decisions.
- I have to work out how to store the maps as well. I could possibly
- stick each one in a databank, and just load each file as required, but I
- don`t actually know how to do this yet. Maybe I will have to write my own
- I/O routine similar to the ones I used to write on the c64 for the many
- databases I programmed. More thought on this point as well, I suspect.
- I really need to find a way of flashing my cursor on the map editor
- as it is quiet hard to see at the moment. I think I can do this with a bit
- of fiddling with the palette command. Find out later. I`ve decided on making
- sure this map-editor is nothing to flash. Just a simple way of putting some
- screens together, as it will only be used for this game. I might go back to
- it at a later date though, because I can probably modify it to be a screen
- designer in general, if I put in some scrolly routines etc. Should be fun.
- banks and I/O handling. There`s no
- point in me designing loadsascreens if I can`t save the bloody things out.
- You try doing all this when you have a major hang-over from a works
- night out. Have I learnt my lesson about the evil drink - I don`t think so.
- A little later on - about three hours - I have finally ripped apart
- another Amos program to get a rough idea on how to load and save to a file.
- At the moment my routine is simple. It just loads one map, but now that it
- is there I can customise it by putting up a requester asking for the map
- number to load/save and so on. Also into the editor is an option for a help
- page - usefull if I can`t remember which keys do what at a later date when
- I actually start to build the maps - which I still have to put in. Some
- standard keyboard commands for showing the default map - the one I use at the
- moment - and a clear screen command. At the moment these commands will only
- work if the apropriate key is pressed three times. This is in case of silly
- afer, I`ll probably have a confirmation requester that
- will let you save the screen or change your mind. Much more user friendly.
- The editor itself is not functioning yet - as I said I wanted to make sure
- I could load and save all my creations first - but it wont be long before I
- can start making some maps. I still have to decide on the warp gates bit, as
- well as how much can be configured. I have displayed the pacman and monster
- sprites on screen as well, just so the user knows where they will be at the
- start of each map. I have to decide wether to have these bits user-defined
- as well. More hassle. I think the map editor will get finished by the end
- of the day though I don`t know if I`ll actually get any maps designed. I must
- remember to have the number of dots saved out with the mapdata as well,
- because not every screen is going to have the same number are they? See what
- I mean about still needing some more thought before carrying on with the
- program. Back to the grind again.
- the map editor is now finished. A bit
- of thought was nescesary before finishing it, but I have now decided on ten
- different maps, and put in a little file selector for loading and saving each
- map individualy. The maps are all less than 1k in size so speedy loading is
- the order of the day but I am hoping to actually be able to incorporate all
- the maps into one bank and just lump them in with the main program. Not much
- point in me doing this with the editor program though, as each map can be
- more adaptable if kept apart from the rest. I will probably write a program
- later on to convert the ten maps on disk into one bank and then put it in
- with the game once I have got some screens I am happy with. As I said I don`t
- like the idea of loading of the disk, and also it might be a bit tricky to
- know which map the computer should be loading. Anyway, map editor done, and
- another one of my ten points implemented. Each day brings that compiled gane
- n the
- same thing forever. Besides it takes forever to load and update this diary
- now as it is such a big file.
- Got to do some more disk editing now, as I`ve got all sorts of dummy
- files and the like to sort out, since I started playing with the output files
- through Amos. It took quiet a few times to get the save format right, let me
- tell you. See you later.
- Just time for one more stop today as I`ve just finished work and had
- a few ideas to implement in the map editor. alright, so it`s not really
- that nescesary to have a brilliant editor that looks great etc as I`m still
- not certain wether I am going to have it with the game or not. If I do then
- I probably will have to load off disk for each screen which I don`t really
- want to do. Some research into storing data into the banks is called for here
- but I don`t know where to look. What I would do for the original Amos manual
- right now. Anyway, enough of that. The editor needs a few cosmetic changes
- d I don`t
- really want to be fiddling around with the joystick trying to build each
- screen. Some key input routines are needed to make editing quicker - I can`t
- be bothered to read the mouse, and the keyboard will probably be faster
- anyway. I have also decided to have the warp gates user-defined if it is
- required. If you`r going to have a map editor, then you might as well have a
- proper one. Okay, so I lose my snazzy animation bit for warping, but it`s
- not a major sacrifice, and being true to the arcade game is probably a much
- better idea. Now I have to decide if the monsters can follow you. I think
- so. Maybe also tweak their inteligence so they head for a hole if they are to
- far away so they can lock onto you quicker. You just know this is going to
- be hell to implement in code form. Still, now that I have written it down, I
- have got to do it because I swore to myself when I first started this diary
- that I would not edit bits I wrote down, just so I didn`t have to write a
- to it so far, and look at some of the
- features it`s led to, so I`ve no intention of stopping now. Back to work for
- the last time tonight.
- Okay, finally all done. Well almost. I have the editor working
- intuitively now. I-e it works how the user would expect it to work. The
- cursor now wraps around the screen if put over any edge. The keyboard can be
- used instead of the joystick (much easier) and the computer works out the
- pill data and saves it out with the map data. The whole thing is running very
- well now, and I am more than happy with it. Just one more option to put in
- next time - I put in an advance square bit every time you select an icon and
- I want to have this part optional as I seem to find editing easier without
- this mode on but others might not. Like I pointed out earlier: the editor has
- to function how I want it because I will be using it a lot for a while. Spent
- a while on tidying up the display in general and getting rid of surplus lines
- I even stuck it
- through the compiler just to see if the thing could handle the conversion of
- banks. No problems there, even if I did run out of disk space. When I do get
- the game running properly off one file and compiled, I think it is going to
- be one big file. I shall have to use the compilers cruncher when I do it, or
- use powerpacker. I suppose anything I code will be like this while I am
- using Amos, as it has to have a lot of system data saved with the games code
- itself. When I finally get to grips with assembly language on the Amiga -
- it is nothing like the c64 6510 machine code which I did get the hang off -
- then I will have much shorter programs, until then I will have to grin and
- bear it. Anyhow, all is now on for the next session, where I will put in the
- routines for travelling through a warp-gate (ie: moving off screen), letting
- the baddies do the same, loading screens each time one is completed, and
- hopefully, once the modifications are implemented, the powerpills are going
- g more than give you ten points. We shall see. I also
- want to change the clearbox routine used on the title screen. Amos has some
- clever scroll commands for moving certain bits of the screen around, and I
- want to learn how to use them. What better way to learn, than to scroll each
- page of info off screen when the next is going to be shown. I can not wait
- to try it out. It has to look better than the crummy routine I have now which
- I thought was oh so clever, but in reality looks slow and clumsy, and makes
- it look like the computer can not cope with everything it is doing. I just
- can not leave it like that. Time to sleep as I have to work first thing in
- the morning.
-
- Day 16: 9th June 1993.
- ----------------------
- Went out for some beer today, so there was nearly no work done at all. I
- loaded up after coming back from the pub with the intention of designing some
- maps with the editor I spent so much time on yesterday. Kept looking at my
- little list though and thinking how my time could be spent more constructive
- means. I got the guilt syndrome and finally wrote the routine to enter a high
- score name and spent over an hour getting the data to move around properly.
- The game now has a definite feel to it, now that the three lives and the end
- of game routines are complete and working properly. Alright so it probably
- isn`t the most important thing to be done, it had to be put in eventually,
- and I just decided on now rather than later. The code looks a little sloppy,
- but then so does the rest of the game, but it all functions well enough, and
- when I am finished I will rip through the whole lot, just generally tidying
- up and saving up some memory. The program will be easier to edit as well if
- there aren`t so many lines, and the complete routines are folded up and
- forgotten about. Anyway, that`s another of my implementations crossed off
- the list and to briefly summarise, here`s what we have left.
-
- 1. The computer inteligence.
- 5. Power pill routines. To play background noise and alter enemy
- paths.
- outines. All part of number 5.
- 7. Map save/load routine. I have to design the screens first and
- decide wether to keep the data in memory or not.
- 9. End of level animation or similar. Not sure what to do here yet.
- This part will probably go in last.
- 10. Game over bit. You could say this is finished now that I have the
- lives in and the high score entry etc, all looking polished.
-
- I think I will probably get the map decisions sorted out and get it
- working with different screens tomorow so that the game loop is all there,
- and then I can worry about the tuning up afterwards. I`ll make the game load
- of disk for now, and then decide later if I want to have all the data in
- memory. I`ll keep the editor with the main program if I can shorten it all
- up so that it isn`t so memory intensive like it is at the moment. I`ll have
- the screens I design as defaults and have an option to use the custom ten
- screens in game if the player so desires. This should make the game appeal
- want to use the screen designer. Things are
- going quiet well at the moment, and I am optomistic about a near completion.
- Still not quiet confident enough to name the day though yet. We`ll see how it
- goes with the inteligence bits later on, though I am damned if I am going to
- let that hold me up now. I have several ideas already on how to improve it.
-
- Day 17: 10th June 1993.
- -----------------------
- Not a day for getting much work done, I`m afraid. Loaded up briefly earlier
- on for a look over the game again, this time from a gamesplayers eyes rather
- than a programer. It`s alright looking over the game with an eye to
- improving little bits that aren`t working quiet the way you want them to but
- that doesn`t nescesarily make the game more appealing to the person with a
- joystick in their hand trying to play the thing and not caring one iota if
- you have used clever programing tricks to gain a second of speed or not. This
- game has so far just been used as a programming exersize rather than an
- of the best arcade games ever created. Now that I am
- almost through with the programming, I have to go over the game - by playing
- it over and over again - to make sure it has the right feel and that the
- person playing it is going to feel happy with it. The overall sense of
- opinion so far is that there is definite room for improvement. Most of which
- I have already set out for some major rewriting, but some more making notes
- is needed on just which parts to adjust and deciding what else needs to be
- done. I have got the whole game hanging together quiet well at the moment,
- and having the extra screens in and running will no doubt help, but to make
- it as close to the original as I would like, there has to be more done. As an
- example, the sprite editor is going to be needed again, as Pacman really has
- to be animated. It`s just not good enough to have one definition for each
- way the main character is moving. I want him to open his mouth like his
- for
- there. The screen draw routine will need some fiddling as well, to make it
- faster if possible, as games players are alike in that they all hate annoying
- delays between goes. The list is - in theory - endless, and I think I am
- going to have writers cramp by the end of it. It all has to get done, though,
- as there is no point spending so much time writing a game which people might
- not like to play because of silly things which could have been ironed out
- with a little more thought. I hope to get a few friends to test the game out
- at a later date, just to make sure I have got it right, while I sit there
- with a notebook and take all the critiscism and comments, no matter how bad.
- If it`s valid then I don`t care how negative it is, I intend to do my hardest
- to fix it. I suspect this is where a lot of game programmers go wrong and I
- have no intention of following in their shoes. Most software houses employ
- about ten people just to test games and give opinions to the programmers
- make a living as everyone who has ever
- played a game must have had something they didn`t like about it and would
- love to have a chance to air their views. Difference is: I won`t have to pay
- my mates to test this one out. They`ll do it just to get a chance to play on
- my computer, and to have their name in lights if I credit them on the title
- screen. Moral statement of the day over, now it`s back to the game with pen
- and paper in hand.
-
- Day 18: 11th June 1993.
- -----------------------
- Back with a vengance today. Started off by getting the load screen routines
- in and looping it all together so that the game is basically all in and the
- refinements can be made and tested fully. Put in another option on the title
- screen to let you choose between two sets of screens. One is the set that
- comes with the game, and the other is the custom screens which can be edited
- with the map-editor. I`ve updated the map editor - now in version 2.0 - so
- that any 1 of the twenty screens can be loaded, edited, and resaved, although
- editor will be adapted if I put it into the game, so that only the custom
- screens can be fiddled with. I have to have access to all of the screens at
- the moment though, because I have yet to design them. My strange set of
- priorities seemed to indicate that the putting together of the actual main
- game loop so that it is playable in its current form seemed to be more
- important. Now it is all in although a lot of refinements are needed to some
- of the routines just for tidying and smoothing out. The end of screen bit
- just shows a little message and waits for fire to be pressed before loading
- the next map and upping the skill level if the player has gone through all
- ten screens. I`m sure I can do something more interesting when I come back
- to this bit later on. The game design is certainly going a lot better now
- than before. Having set objectives certainly helps in the progress department
- although the programming is not getting any easier. Due to the way I have
- which can be tidied up
- and smoothed out etc. Before I go any further I hope to go through the entire
- code and tidy up as well as shorten, so that I have space for the editor in
- game at the same time. I know I should really do this at the end, but tidying
- up now can do no harm and will make it easier to edit and build upon what I
- have done so far. Also next on the agenda is to design some more screens. At
- the moment I have twenty on disk, all exactly the same, so the game is pretty
- boring at the moment, and no changes are apparent when the screen is cleared.
- I have to make a decision between slow screen drawing and smooth sprite
- movement or fast drawing and flickery sprites. Not much of a choice really,
- because without the double buffer command, the game plays terribly. A much
- nescesary sacrifice, I think. I am also trying to look into ways of loading
- all ten of whichever set of screens are nescesary just once when the game
- first loads, as I have already mentioned, I want to avoid going to disk if
- ible. More fiddling with banks coming up later.
- The inclusion of more screens will let me analyse the computer
- inteligence routine in more detail as well which can only help when I
- rewrite it to play properly. It seems as fast as I write the bits I need, I
- am coming up with new bits that are needed. I will eventually finish, it`s
- just that some days I feel closer to the end than others. I have now decided
- that I am unhappy with the options selection on the title screen and want to
- do something to make it feel better. Another rewrite of the display and
- input routines needed once I come up with a better system. Oh boy, I hope
- the work I have put into this is eventually apreciated.
- Had a friend playtesting for me again today. The last time I let him
- lose on the game was a couple of weeks ago, when it was in a much shallower
- form, and he discovered a few bugs with the warp gate routines which I had
- not noticed almost immediatly. I was pretty sure that he would not find any
- d the warp bit even though it is to be
- taked out and changed shortly - and hadn`t spotted a bug for ages. Needless
- to say he found one - the pacman was clearing the screen and nothing was
- happening due to a variable being repeated that i hadn`t spotted. I`ve now
- fixed that to, and have definetly decided I like the idea of other people
- playtesting my code, as they always find things wrong that you miss. I am
- letting him loose again tomorow, and I want to get some input on how he
- thinks it should be improved.
- Final note of the day is about the title screen music. I have just
- realised - after 14 days of having it running in the background of my game -
- that it is not True-Faith by New Order. It is Blue Monday by U2 and I am
- currently feeling like a right dickhead. Some programmer, huh. Doesn`t even
- know what music he is using. I might write my own tune for the game as well.
- I have a high score table piece at the moment, but I am thinking of using
- ing track
- instead. Should be interesting, as I have already said, I am not very good
- at transcribing music from my head into Protracker.
-
- Day 19: 13th June 1993.
- -----------------------
- Had a major strip today (oeerrr, misus) and shortened the code a bit. Also
- did a little tidying up and rearanging so that the bits of code I still need
- to work on are placed at the end of the listing so that I can get to them
- quickly. Still a lot more work to be done in that department but I can`t
- really get into it as I have to put in the rest first. Looking over my list
- of bits to implement, I decided that the power pills and gobble baddies bits
- would have to wait until I got the baddies working properly. That left just
- the end of level animation that I could have done if I was feeling really
- creative, but I decided to stop dawdling, and with a heavy heart I started
- once again on the enemy inteligence bits. God, I wish I hadn`t. This has now
- become the most major stumbling block in the entire saga and it is really
- down. I just cannot proceed any further without it working better
- than it is, and I am really trying to knuckle down and get it up and
- running. Needless to say I still haven`t succeded and I am to stuborn to give
- in and settle for what I already have. Back to square one next session, and
- yet another rewrite. Not happy.
- Anyway, on a happier note, I got Desert strike yesterday and it is
- brilliant. That`s one reason why I didn`t do any programing yesterday. By
- the way can anyone lend me twenty bucks as there is a great book on Amos on
- sale in my local bookshop. No. Oh,well,maybe I can sell this game to someone.
- Can you see it: For sale. Pacmans return. Sorry no baddies but the game is
- priced at budget level to reflect this. Offers to etc, etc, etc. Must be a
- market out there somewhere. Still, I doubt if the book would be any help to
- my current project and I can always buy it with next weeks wages. Patience
- is not my strong point.
-
- Day 20: 16th June 1993.
- -----------------------
- ay from the game, call it my days off.
- Did another major attempt at the inteligence on the 14th but failed yet
- again, so I decided that it wasn`t worth mentioning. Yesterday I spent all
- day Go-kart racing up in Reading with some workmates, and all evening in bed
- with a severe case of sunburn. I wouldn`t have minded but I didn`t win the
- racing. Would you believe I came second in three out of four of my qualifying
- races, and I stacked the bloody cart on a tight corner in another race and
- did not finish. That left me one point short of qualifying in the semifinals.
- I was gutted. I don`t think I did my car tyres much good either, when I took
- my Capri in excess of 100mph down the M4. I hope to do better next time,
- anyway.
- Enough of that, what about Pacman. Well, most of this morning and
- early afternoon has been spent on research. Research? you may ask. Well,
- since I can`t get the right routine myself, I am digging up various Amos
- programs and also reading the old books of computer listings, trying to find
- f a similar nature, to see how they overcame the problems of computer
- inteligence. I`ve spent about an hour editing and reprinting a text file
- from Amiga-computing covering about a years worth of their Amos column and
- the entire breakdown of their version of Pacman to see how they did it, and
- I am hoping to have a proper dig through that later on before having another
- crack at it. Also on the positive front, I think I have found a way of
- getting the maps into memory with the main game. I`ll have the twenty maps
- loaded with the game, and the option to load the custom ten from disk which
- had been previously saved with the editor part of the program. I am going to
- have that as part of the game for definite now. Of course I will have to
- alter it so that you don`t get to edit the main screens as well, else it
- will mean reloading the entire game if you mess them up. That way the editor
- usage is just optional, because not everyone is going to want to use it,
- are they? Now is the time for some reading.
- g by in the middle of programing to write this short bit.
- The inteligence is almost working. Incredible but true. I am finally
- getting somewhere. I am currently working it by these two simple rules which
- seem to be the same rules everyone else uses. Well, why should I change a
- tried and tested formula.
-
- If pacman is above monster then move baddie up else go down
-
- If pacman is left of ghost then move baddie left else go right
-
- It seems to be working although there are a few glitches I have to fix and
- polish up before I can call it finished. At the moment the baddies are
- sometimes cheating by moving diagonally through walls. Expect some real
- progress when I next make an entry.
-
- Later.
- ------
- Alright, I lied. I`m not quiet there yet. Been working on it for a fair bit
- of the afternoon, but it is still not hanging together. Some more thought on
- it while I am away from the computer will probably help again. Also took a
- while to put in a test mode into the game. What`s that? It`s basically a
- ther one or zero at the begining of the listing so that
- if I am testing it will bypass a lot of stuff - such as the title screen and
- music, as well as loading up a screen from memory straight up instead of
- loading and drawing from disk which is so slow and irritating when you are
- trying new routines and want them up and running quickly.
- Finally got this up and running - after much fiddling - because as I am now
- spending so much time getting the baddies working properly, I need the
- program running quickly so more time is thinking rather than waiting. I did
- a little more tidying up today as well. That`s it.
-
- Day 21: 21st June 1993.
- -----------------------
- I think I`ve lost a day here somewhere. I could have sworn a wrote a little
- entry after the 16th just to say that I was going to get away from the Amuga
- for a couple of days and rethink the whole thing through, but it seems to
- have dissapeared. I`ll bet I tried to save this text to Df1:, which is a bad
- for some stupid
- reason. Anyway, for a couple of days (four to be exact) I have left the code
- totally alone, and have been plotting and planning in my head instead.
- The problems I have been having with the computer inteligence parts
- of the game are probably quiet common, and I have undoubtedly been tackling
- them in the wrong way. Any game which has you against an enemy (about 99% of
- them, I should think) should be approached with a clear set of rules that
- define how the opponent should play, and its actions in relation to your own.
- This has probably been my most major mistake in the whole exercize. Impatient
- as ever, I was cocky enough to think I could just jump straight into the code
- and knock in a routine of the top of my head. Brave thoughts indeed, and I
- was probably doomed before I even started; nobody is that good. I bet the
- professionals don`t even do it this way. Suffice to say that a valuable
- lesson has been learnt here, and I have most certainly not given up, despite
- nearly a weeks abscence.
- simple rules I came up with in an early part of the diary were
- a definite step in the right direction, but their format is one I am not
- happy with. It can hardly be called artificial inteligence, can it? And this
- is what the last few days away from the keyboard have been all about. I have
- been looking upon this from a totally new outlook and have come up with the
- following idea.
- If I was to put myself mentally into the enemy ghosts shoes, how
- would I track down the pacman. Simple really. I`d nip off in any direction I
- could go in, changing my direction whenever I encountered a wall, like the
- ghosts do so far, but then, and this is the "big then", each time I got into
- a square with multiple directions leading off, I would stop, look in each
- direction, as far as the nearest wall, and, if I spotted the little yellow
- bleeder, I`d rush down that way after him. Of course if I didn`t spot him,
- then I would probably just roll a mental dice in my head (a random number
- an even number I`d go in the
- new direction, else I`d just carry on whichever way I was going, and hope to
- spot him at the next junction. I`d be very unlikely to back-track, so I
- will probably make sure the ghosts couldn`t do that. Then, problem solved.
- The baddies would always be moving, and they would be about as inteligent as
- a human (well, me at least) would be if forced into the same circumstances.
- Although ideal in its present form, this idea has yet to be coded,
- and another aspect has yet to be considered. The last thing on the ghosties
- mind when pacman has just swollowed a power-pill, would be to hunt him. A
- better idea, for them at least, would be to be going in the opposite
- direction as far as they can run with no feet. Okay, so the routine for
- pacman eating the powerpills is not fully coded yet, but it is going to go
- in sometime, so some sort of addition to the inteligence to take this into
- account should go in while the routine is being written. A major reshuffle
- lled for here, as it is time to implement
- some sort of data-structure and organisation into the routine before it goes
- hopelessly out of control - which it has done several times so far - and I
- lose track of what anything does. The format for this I have written below.
-
- Ghost (gh,x,y,b,st)
-
- Alright it doesn`t look much, but let me explain.
-
- Ghost is tha variable name, and gh is the number of the ghost (1-3 so far,
- although I am thinking about bringing number four back for the show).
- X and Y are the x and y positions of the ghost on screen. Surprising, huh?
- B would be the ghosts bearing (1=up,2=down etc), ie the direction it is
- currently moving in.
- ST would be its current status. In other words: 1=chasing Pacman, 2=Run like
- hell `cause Pacman just ate an acid tablet. (yes, it`s true. Pacman is a
- junkie.)
-
- Of course, when I write the routine - as I am shortly going to atempt to
- do - some of this might be changed just a little. I`m thinking along this
- ough when I am
- programming, nothing ever goes to plan, so the whole thing might need to be
- totally different in order to work. We shall see.
-
- Later.
- ------
- Not much luck here. Rewrote the routines to check each direction up to the
- nearest wall, and lock onto that way if Pacman is spotted but they don`t
- work too well. At the moment the ghosts see pacman if he isn`t there, and run
- off in a different direction all together. To make matters worse, if the
- ghosts stop moving which my routine allows at the moment, then the bloody
- game slows down to a snails pace. Most annoying. I still have quiet a way to
- go with this part of the game. So what`s new? I remember writing down my
- first few lines of text into this diary what seems like a long time ago:
- I couldn`t ask for an easier introduction into Amos. Famous last words and I
- am definitly biting my tongue. Maybe I should have chosen a better subject
- for a game, after all. I always thought programming a good game was adding
- ng days writing a part which
- you can`t do without, and is just not coming together. Until next time.
-
- Day 22: June 22nd 1993.
- -----------------------
- Well I came back again today, and lost the fight, as is becoming usual. But
- having said this, all is not lost. I rethought the ghost movement routine
- yet again - I think I must have used almost every trick in the book by now -
- and came up with a shorter routine using the dreaded if-then and else
- conditions, and repeats. I can think of this as a breakthrough in a way,
- even though the routine doesn`t work yet, because the way I have used them is
- right, and for the first time, I have actually got to grip with how they
- work. Let me explain for those of you who are confused:
-
- Take the following Amos code.
-
- Input "What is your name?";N$
- If n$="Tony" Then Print "The boss": Goto END
- Print "Hi there ";N$
- END:
- Stop
-
- Now use the if then else structure.
-
- Input "What is your name?";N$
- If N$="Tony"
- Print "The boss"
- Else Print "Hi there ";N$
- End If
- Stop
-
- crude example, but that`s the best I could do off the top
- of my head without getting to techy. It doesn`t save much space or make the
- program look really neater, but you can probably get the idea of how many
- labels you can save on, and how much neater and organised a program could be
- if this method was employed all the way through. This will have to be done
- to all my code once the game is finished anyway, as I`ll probably save a
- whole heap of space, and be able to decither the whole thing if I look at it
- again, after being away for a few months.
- I`ve done some more fiddling with the testing mode now. Remember how
- I said that I have a variable called test set when the game first runs, and
- if it is one then the game is in playtest mode, so a lot of the unescesary
- stuff should be bypassed. Well I`ve built a bit on that today, by adapting
- the code so that the score is no longer shown etc - I`m hardly interested
- when I am trying to debug the game - and other info is shown instead, like
- n and friends etc as well as other stuff to show
- results of the inteligence routine as I adapt it. Hopefully this will aid me
- in my debugging.
- It looks bad at the moment with the ghost movement routines not going
- anywhere, but I am still in there fighting. If nothing else, I`ve learnt a
- lot more about Amos and artificial inteligence since starting it, and I am
- not going to give up so easily. It`s going to be back to paper time again,
- after finishing todays diary, and hopefully with the new stuff I have learnt
- I can throw away my last piece of paper with the old routine on it that looks
- nothing like what I have now, and file away a working one in my development
- file instead. Having said that, I`ll probably frame it, if I can pull it off.
- Oh,yes, did I mention my development file? It`s great idea of the day
- time again. I have put all my notes into their own section of my computer
- file, along with other associated articles and routines, which is my pacman
- ut and put that in
- there as well as a copy of this diary, so I can look over all this again, and
- wonder why I bloody bothered. Just kidding. It will be good to look back on
- it though; especially when I am writing other games by then, and avoiding
- all the mistakes that I made with writing this one.
- Anyway, on a slightly more optomistic note. Bye,bye....
-
- Day 23: June 23rd 1993.
- -----------------------
- Another day of intensive thought. Been thinking along the lines of resetting
- all the ghost movement routines to move via a complex data structure. And
- all because the ghosties loved to chase pacman. This is going to be a lot of
- fun. Not !!!
-
- Day 24: June 24th 1993.
- -----------------------
- Looking at this diary and recapping over the last couple of weeks, I`ve
- come to the conclussion that this inteligence routine has got to be the
- hardest piece of code I have ever tried to write. Well, it speaks for itself
- really. Can you imagine how senile I would be right now if I had been trying
- stead of a nice user-friendly language like
- Amos. I`d have no hair, and my ashtry would be overflowing into next doors
- garden. Seriously though, when I finally get it there - and despite my
- constant bickering, I am much closer now - I`ll probably be celebrating into
- next year. In a way I am glad it has taken so long because I have learnt so
- much about structured programing and short cuts etc that anything I write in
- the future is going to be much better than the basic sort of games I used to
- write on my old Vic-20 and C64 which had very nice title screens etc but you
- would only play them once or twice as they had no real drive or clever
- computer inteligence etc. I never used to be able to write a game that would
- be just the right sort of challenge. They used to end up looking like demo`s
- which I ended up doing most of the time instead as they were easier to
- write and didn`t take much design work which I never had the patience for.
- Looking at myself critically, I have now realised that I never had
- ce when programing at all. This is why I used to end up with so
- many unfinished projects. I would lose interest as soon as I hit a stumbling
- block and go onto something else, and I would almost never write anything on
- paper before jumping into the programing. This is why most of the games and
- programs I did actually finish looked either like blocks of code just put
- together, or flashy title screens with the game put in as just an
- afterthought. I have decided to rewrite the one game I did do sucesfully
- on the Vic-20 onto the Amiga after I have finished this, as this was - to
- me at least - rather good. I wrote it off the top off my head back then - it
- must be about eight years ago now - and it had no real programing problems
- as the whole game was made of easy to write subroutines. I`ll enhance it for
- the Amiga of course; who wants Vic-20 style graphics now.
- This said it`s time to look at Pacman again.
- I have rewritten the enemy inteligence to use a complex data
- ly shorten the main routine
- to a readable amount which will aid me in debugging and adding to it a little
- later when I need to make the ghosts run away from you. The thing uses all
- sorts of if-then jumps like I wrote about a couple of days ago, and when I
- have done some more debugging, will be the method I eventually use. It seems
- to work well in theory, although the version I have keyed in at the moment
- does not run according to plan. I have so many notes on this subject now,
- that I am just going to bear with it and keep changing as nescesary until it
- is finally right. I`ve just about had enough of all these re-writes. To
- explain this code in simple words: I have made pacman look in each direction
- when he is ready to move again - ie: his animation phase is over and he has
- matched his block pixel movement - and mark down if he can move in any of
- the directions. Tomorow I will change the whole routine a little bit so that
- he only looks to the left and right of the way he is facing, as I can`t have
- ackwards and forwards all the time, unless Pacman is behind him
- of course. He won`t always change direction, if he can move either way though
- because that wouldn`t nescesarily happen in reality, would it? This might
- sound a little techy now, but basically he`ll turn round if he hits a wall,
- spots pacman in another part of the maze - ie: the x and y cordinates match
- and there is no walls between them, so that the ghost would see him in
- reality (nothing like being true to life) - or just turn if their is a blank
- floor to his left or right, and he feels like doing so. This should make the
- whole thing work smoothly, and in theory the ghost should follow pacman even
- if he moves out of the ghosts sight, as he locked onto pacmans last position
- and is going that way himself. Of course you could avoid him, but you`d need
- two changes of direction in rapid succesion without him seeing which way you
- headed the second time to get away with it. Not forgetting that there are
- and you have to avoid them
- seeing you as well.
- The routine for looking in each direction is rather clever, if I do
- say so myself (and I do) - as it is one routine to look all four ways until
- it sees a wall, and change the ghosts direction if it matches cordinates
- with pacman before the wall is encountered (in other words it see`s you). It
- does this by looking at the mapdata arrays in block increments decided by a
- bearing data structure. How the hell do I explain that one.
-
- X Y
- 0 -1
-
- that is for up.
-
- X Y
- -1 0
-
- that is for left.
-
- Are we learning yet? Thought not. Let`s try and make it a bit clearer.
-
- X=Bearing(1,0):Y=Bearing(1,1)
-
- if x = 0 and y=-1 then it is looking at the block x position the same as
- ghosties and the block y position the same as ghosty -1 Ie the square above
- his current position. Sorry if you are still confused, but just because I am
- a programer, doesn`t mean I`m a teacher.
- For the educated, this means I am able to search in all four
- check each way. As I
- said I am going to change it to three ways tomorow to make the ghosts move
- better, and not so clockwork.
- At the moment - for the interested - they are just going over the
- same four squares clockwise. Even if pacman is within sight of them. I think
- the problem is with my routine rather than the way it is designed, so I
- hopefully should sort that little glitch out as well.
- On a lighter note, I was tempted to put in another sprite today
- and use it to show pacman pokeing his tongue at the ghosts each time they
- go past him. This is silly really but I just thought it would be a reminder
- to myself to sort the inteligence out. Who says programers are all serious
- guys, huh? Maybe I`ll do it anyway in the game. I have to have the fire
- button do something, so this could do. And of course the baddies would go mad
- and double their speed until you pressed it again. Probably make it give you
- double points for each dot gained while the ghosts are in I-am-a-pissed-off-
- The idea was just a joke. Wasn`t it?
- See you in the next thrilling instalment. Hopefully with some clever
- ghosties. Sounds like a new cereal, doesn`t it?
-
- Day 25: June 27th 1993.
- -----------------------
- Alright, so I took another couple of days off. Justified, because, as usual,
- the game was in the back of my mind nearly all the time as I tried to think
- out some more routines. Bit of a waste really as nothing else is to be done
- until the ghosts move as they should. Well move how I think they should;
- after all real ghosts would walk through walls wouldn`t they. I`m writing
- this text before actually doing anything else with the game so the movement
- routines haven`t actually been adapted yet. But I`m going to in a minute.
- Honest. Spent all day yesterday running around a wood like G.I Joe, playing
- paintball. Great fun, but very expensive on the wallet for Ammo. I must have
- used more shots than Arnie in Terminator II. Spent about 60 quid in total,
- multiple
- bruises from the enemy. Did quiet well though, although some of my actions
- could only be called suicidal. I wondered at the begining why everyone let
- me lead the team into the woods. It turned out I was bait, as the enemy
- snipers would logically shoot at me first. I did some brilliant dives and
- acrobatic feats I didn`t know I was capable of, though. Many an enemy soldier
- was shot by a brave and foolhardy charge by myself into their teritory. I
- even got through some multiple barrages to pick off men without being shot
- at all. Most of the time, I got about five pellets in me, though.
- Anyway, back to our story. Although I am thinking of trying to
- emulate the feeling of playing paintball into the computer somehow. I don`t
- think anyone could get it quite the same. Back shortly, after I`ve adapted
- the ghost moving routine.
-
- Later
- -----
- Nothing much to add,really. Had another terrible day. Ripped out the whole
- routine again and again. This game is really getting to me now. Came close
- le disk, diary and all. Decided that it is probably in
- my best interest to stay away from the code for tonight. I don`t quiet know
- what to do now. I`ve thought and mapped the whole thing onto paper too many
- times to mention, and I can`t get the thing hanging together. Every single
- different way I have tried to program around the problem has got me nowhere.
- Sooner or later it`s going to drive me totally up the wall. I need some
- severe inspiration but I don`t know where I am going to get it.
-
- Day 26: June 28th 1993.
- -----------------------
- I was going to start today`s installment of the diary by saying something
- along the lines of "Here we go for another atempt which will probably fail
- at sorting out the ghost movement", but that would be despondent. The only
- way to aproach this problem is with a positive atitude, so that is what I
- intend to do. If I still can`t get it right, then I`ll just keep trying to
- do it again, until I do. There`s no point in just forgetting about it, or
- ent is essential to the gameplay, and the
- project is undoubtedly a failure otherwise. Anything else approached in the
- future is likely to need the same sort of thing so I have to get it right
- now so that I can repeat it in future. Who wants disks full of unfinished,
- or poorly programmed games?
- I only have a short time to work today so I`ll just work on the
- ghost movement routine alone. Hell, I haven`t worked on anything else for
- the last couple of weeks anyway, apart from the programmers test mode which
- will not be in the final game anyway. Who is going to be interested in
- knowing things like the x and y positions of pacman etc anyway?
- Just recently I have been writing routines for the game with an
- objective of saving memory by making them as short as possible, which could
- be where I am going wrong here. If I just wack in a great chunk of code to
- do the whole thing properly, and then adapt it afterwards then I might have
- better results. The program is going to be stripped down in a major way when
- nished writing it anyway. And, hopefully, it will be compiled and
- crunched when done so that the whole code is in one smallish file at the
- end. Obviously some work will have to be done on the way screens are stored,
- but I am taking this into account, and I have a way of storing all the info
- into a bank with the main program, although I am not going to program it in
- until I have the ghost movement up and running first. As I said, I want to
- have the map editor in with the game, so some severe code shortening will
- be called for, as well as a clever data storing routine so that map data
- will not use up so much room. I will probably have my work cut out in this
- department to. Right, enough of the diary, and on with the programing.
- Not even half an hour later and I`m back. I`ll bet you are expecting
- me to say that things are not working out. Hah, fooled you. Things are now
- looking very good. I wish I had more time to carry on further but I have to
- sk. Well,
- I had been having problems with the map search routine - you know, the bit
- that let the ghosts check each direction up to the nearest wall and see if
- pacman is there. Well, no more problems; this bit is working great now, and
- the ghosts no longer move through walls etc and stop the program with all
- sorts of out of range errors and the like. Now it is the routine to make them
- move about at random while they are not after you. This bit should take a
- bit of work as well, as I don`t want them to just keep going over the same
- old ground if the player keeps out of their way. These guys have to go out
- and look for you, and this bit of inteligence is what I am going to implement
- next. By the way, I was right about the longer code to get the job done
- properly. It is quiet a bit longer than the old search routine which was
- very economical, but didn`t work properly. I`ll try to convert it later when
- the rest is in and working. I`ve also put some remark lines in to myself so
- t`s amazing how much I forget when I
- don`t do anything with the game for a couple of days.
- Back again. Not much luck, and I haven`t got the time to fiddle to
- any real extent. I think I am finally close though. Can you wait for the
- next gripping installment? Probably. I should think you are reading this
- much faster than I wrote it. Next time? Perhaps.
-
- Day 27: June 29th 1993.
- -----------------------
- Right then, do you want the good news, the good news, or the bad news?
- Good news? Ok, then, there is no bad news. What does this mean? I hear you
- ask. Well, this persistent fellow has finally cracked it. Ghosties everywhere
- and all after your blood. I`ve been on it for about three hours on todays
- session, and finally, after the usual frustration, the code came together.
- A little tweaking is still needed. The ghosts aren`t quiet inteligent enough
- yet. But this is not a major hardship - or another two weeks of my grumbling
- - as I know exactly how to do it. Needless to say The ghosts now go straight
- spot you, and they will actively search the maze for you if
- you are cunningly avoiding them, and what`s more - and this is the best
- bit, they won`t stop moving. Not like they used to and slowing the whole
- game down for some stupid reason. The final working routine is not quiet as
- large as I feared, and a lot of reworking can be done to shorten it which I
- will do as soon as I have improved the inteligence just a little more. I
- also found another couple of bugs with the pacman joystick reading routine
- which I never noticed before and have now put right. The little chap could
- move through walls if he was moved diagonally, even though he did not stay
- in them. I`ve also improved the movement of pacman so he follows the joystick
- direction instinctively. Don`t worry if you don`t get what I mean. It`s
- probably something you`d never notice when playing the game, unless it was
- not there, and it is just usefull to the players with non-micro-switched
- tioned
- if they can`t tell. A bad explanation maybe, but it doesn`t really need to
- be harped on about, and it works extremely well.
- I was going to stop for now and leave the reworking until later,
- but I have the bug now - I`m glad the game doesn`t though - and I am itching
- to wrap this bit up. Now that the inteligence is nearly finished, I am now
- starting to think ahead, and plan the rest of the game that has to be
- written. The powerpills come next - Shouldn`t be to hard as I`ve based most
- of my routines around them already. Afterwards, the tidying up, some play
- testing, removing all the excess code that`s got in somehow and no longer
- needed, putting the whole thing back together again - I`ve disabled all sorts
- of stuff and put in loads of bypass flags for test modes etc - and then the
- map-data etc has to be stuck with the code along with the editor and made
- into a single file. After this, the final debugging and getting some more
- people to test it, before I can finally call the thing finished.
- ny more hitches ahead now, so the game could probably
- be set a deadline. I`m going to aim for late tomorow - that is without the
- extensive testing - as I`m that confident (don`t forget that a lot of the
- nescesary code was being written while I was stumped by the Ghost routines)
- but it probably will not be quiet that soon.
- Ok, then. Back to work.
- Later
- -----
- After a lot more work, I have become a very happy man. The computers method
- of moving the ghost now works fine. A bit of random movement was called for
- and a little tweaking of the directions so that the ghosts don`t stay in the
- same area of the screen all the time. The whole thing works great now, and
- I am very happy with it. Now I can forget about it and concentrate on the
- rest of the game.
- I put in a little cheat mode for myself so I could test everything
- properly, and it all seemed fine.
- I have now come to the end of my longest session on this game at any
- one time, and I am well chuffed at what I have achieved. Not only did I get
- and running, but I also put in the routine to activate the
- power pills as well. When Pacman eats one of them the monsters flash, and a
- subtle noise plays in the background so that you know it`s monster munch
- time. The monsters, when gobbled, change into a points indicator briefly
- before being zappped back to their base, and Pacman gets a short reprieve.
- All the sound effects and animation routines for this part of the code have
- been implemented as well, and, just to round it off, I tweaked the Ghost
- movement routines to get the Ghosts staying well out of Pacmans way if he
- has taken a power-pill charge. It`s amazing how easily I did this now that I
- know what I am doing.
- A very constructive day. Tomorow I want to recode the map routine so
- that they are all in memory with the program, then I can rip out the test
- mode - my main reason for this was so that I didn`t need to load from disk
- each time I ran the program - and put the map editor in with the game. I am
- ough the ones I have now
- are adequate for their purpose. No progress on the music front however, so
- I think I`ll probably leave this as it is.
- I am going to have to rework all the scoring so that the player gets
- rewarded well enough for his efforts. Ten points for guzzling a Ghosty
- hardly makes it worth the effort, does it? Some time soon, I have to hit the
- map editor so that I can set up some new screens. At the moment I still only
- use the default, as I have been to lazy up `till now to bother drawing any
- more. I have made the Ghost routine work around any sort of screen so I can
- probably come up with some really freaky designs.
- Also needed is the warp routine rewrite. I want to have gaps anywhere
- I like, so the old method which lets you warp in just one place will have to
- go. It`s a shame really as I was well proud of the routine I wrote for that.
- A better screen for when you clear a level is probably called for, as
- well as a flashy screen fade. I can fade out the palette perhaps. We`ll see
- ll probably start the rewrite as well, if all goes according to
- plan. Maybe even shove it through the compiler if I get that far.
- Until next instalment.
-
- Day 28: June 30th 1993.
- -----------------------
- First thing this afternoon was writing a small program to read all the map
- data for each screen into memory and store it into bank 2. The code for this
- is now written and I am running it in the background while I write this.
- Once I save the bank, I can load it back into the main program where it will
- stay with the rest of my data. The problem now is going to be adapting the
- game code to use this and ripping out all the load data routines. Hopefully
- this improvement will speed up the transition period between screens.
- Just have to wait for the program to finish now. You wouldn`t believe
- how long it takes to read in each bit of data and store it, even though the
- bank is only 4320 bytes long.
- Back again. Not much luck as yet. This is much more difficult than
- I originally thought. Amos has just choked on the conversion process and has
- crashed. Most frustrating. I`ll have to look over the routine again and get
- it right. What a pain.
- Alright. All running smoothly now. Got the map converter program set
- up correctly, and now I can just forget about it until I design the new
- screens. I never realised how much development and other utilities I would
- need to write just to get this game running the way I want it to. When I
- finish editing the main game to use the new map format, I am going to have
- to go over my development disk again, and get rid of more unescesary stuff
- so I have room to store all the files.
-
- Later
- -----
- Right,that`s the space on the disk sorted out. Had to get rid of some of
- Amos` extensions that I wasn`t using so that I had room. The game will be
- compiled from my development disks rather than the source disk anyway, so
- the compiler wasn`t nescesary at the moment, and I made a bit more space.
- When the code is compiled, I`ll just have that on one disk - self booting -
- and keep all the banks on it as well, so they can be accessed from Amos. The
- diary will probably stay on their as well as a program to read it.
- Done a lot more fiddling to finally get the screen map data sorted
- out before it was finally working. Had to compromise a little bit and load
- in the data at the start of the game as Amos doesn`t like the user playing
- with banks unless they are reserved first, and once I do that all the data
- is cleared. Catch 22. So a brief pause when the game is first run is
- the only catch, and it only happens when it is first run. I`m still looking
- into ways around this.
- Spent the last couple of hours working through the program and
- sorting out lots of those little problems which you notice when you are
- writing the game but can`t be bothered to change as you are doing something
- else. Did a little reworking of some of the code in a view to shortening the
- whole lot eventually.
- The game works closer to the arcade version now, in that the ghosts
- can only be eaten once on each pill rather than letting Pacman gobble over
- and over until the pill wears out. Not quiet there yet as the routine just
- works out if you have eaten three monsters, not which ones. So the Pacman
- could pick on the same one if he feels like it. Have to change that next
- time. Also got the scoring working a little better and updated the options
- and high scores screen so that I have some space to put in whatever else I
- am going to need. The arcade movement will have to go back in (god knows why
- I took it out in the first place) and maybe I should put in the Thick &
- Smart mode again. I think I can adapt the inteligence for this little tweak.
- I`ll just tell it to ignore pacman if it sees him in front of a wall and
- play the random search way. What a waste. I spend two weeks recoding and
- recoding the search part, and the amatuer games players won`t even use it.
- Such is a games writers life. It makes my mind boggle some times about just
- how smart some games are actually programmed, and nobody notices it. Not that
- this is brilliant, by any means. It came together more by persistence than
- anything else. The final tweak of the day was for the skill level, which was
- letting the ghosts move faster depending on the level, but not Pacman,
- leaving the player totally helpless if they spotted him. Then again they spot
- him pretty quickly now anyway, thanks to the clever random search routine
- which I am so proud off. This has just got to be used again.
- Maybe a sequel. I don`t think so.
- Now that development is coming to a close - just a lot of touching
- up and some screen designs to go now - I am starting to think on future
- projects. I have lots of ideas in mind, including adapting one of my old
- games from Amigabasic - remember that bitch - which I have already started,
- as well as the one I mentioned earlier on in the diary. When I finish this,
- I will have to decide which one to do and not get sidetracked as I nearly
- did with this one, and start coding two at the same time. A bad idea, as none
- of them ever get finished, I guarantee it.
- We`ll see. I don`t know if I`ll be doing anymore later today - if I
- don`t then I have failed my deadline - but for now I`m taking a little rest
- as I`ve decided I definitely deserve it. I`m hoping to get some playtesting
- done on this later on if possible.
- By the way, remember what I said about wanting to emulate the feel
- of playing Paintball in a computer? Well, I thought it couldn`t be done -
- certainly not by me anyway, but someone has proved me wrong. I`ve just played
- a demo of Cannon Fodder by Sensible software, and it`s brilliant. Try it and
- see. I love it, and can`t wait for the full game.
-
- Even later still. And counting.
- -------------------------------
- Phew, I haven`t used my computer for hardly anything else all day. I nearly
- lost all my game code just now, when Amos decided it wanted to do funny
- things to screens etc, and everything was going haywire. I`ll have to look
- into the memory side of things, as I had no other tasks running, and usualy
- the diary is in memory as well, so I can`t think what was going wrong.
- Anyway, I have designed ten screens for the defaults - I think I`ll
- leave the custom ones for the user - and got to work checking the warp
- routines - much debugging later and they basically work - including the
- ghosties doing it as well, although they don`t like doing it much - although
- I`d like to get it so that the bobs move off screen. My animation won`t
- be much use if I do it like that though. I`ll decide a little later which
- way to use. Some of the maps have a few errors in - usually the ones with
- warp gates in as a matter of interest - so I am going to have to find out
- why and sort them out. I have also been tweaking a lot of the routines after
- watching how the ghosts react to their new enviroment, but I am basically
- happy, `cause they always get to Pacman in the end. I can`t really asess the
- difficulty level of the game as yet because I have been using the infamous
- programmers cheat mode, so that I could test the thing properly. I think I
- will set the starting level up one though, as the gameplay is a little too
- slow on the easiest level, and it can get quiet boring trying to clear the
- screen. The levels work by adjusting the speed of the characters only at the
- moment but I - and this is just my preference - prefer a faster game. The
- screens I have designed are not exactly brilliant, but they work well, and
- a lot of them set you different types of challenge, where you have to go to
- lots of dead ends in harder levels and also play on a smaller screen which
- makes it much harder, especially if there are no powerpills for that level.
- I even took the mick a bit by sticking loads of power pills on some screens
- and making them inacessable just to be annoying. Each screen will have to
- be approached a different way, adding to the games long-term appeal, which
- is what I wanted.
- Put pen to paper again to write up a final list of bits to go into
- the game. It was quiet big actually, and it definitely means that finishing
- today is out of the question.
-
- 1. Pacman needs to be animated. (back to the sprite designer, methinks)
- 2. End of level sequence needs improvement.
- 3. Sound on/off option. Even I get irritated with the noise after a while.
- 4. Screen drawing routines need to be loads faster. (unacceptable)
- 5. Arcade mode has to go back in with thick/smart mode.
- 6. Map designer has to be put in with game and option to access it.
- This means I am going to have to put the map designer, and the map
- bank maker into one file which does it all, and saves out the whole
- custom set.
- 7. I have to do something about the movement of pacman. He looks a bit jerky
- at the moment - even on the slowest level where he moves 1 pixel at a
- time. Maybe I can solve this by only updating at the end of the gameloop.
- 8. Code has to go through the major rewrite, where all the old stuff gets
- ripped out, and everything gets tidied up.
- 9. Disk has to be set up for the compiled game, and all the source files.
- I`ll also want to have a print out of this diary and maybe the source
- code too.
-
- That should be all, though I`ll probably come up with some more once I start
- playtesting it on my friends, and playing myself without the cheat-mode so
- that I can grade the difficulty.
-
- Day 31: July 2nd 1993.
- ----------------------
- I hate working for a living. It really screws up my programing schedule. I
- was unable to get into the game again yesterday due to the work comitment,
- and I`ve spent most of today - my day off - taking all sorts of bits off of
- my Capri. First of all I thought the brakes had gone, then Mr. nice RAC man
- said it was the suspension, and now I find out it is my wheel bearings, and
- the old ones are so shredded that I need to get a garage to get them off. I
- can`t get the car down to one, so I have had to take off the brakes,
- suspension, steering rack and all sorts of other bits and bobs, so I could
- remove the bits I need. Not an easy job, and my keyboard is covered in oil
- and muck from my hands. Have to get the car on the road soon, though, because
- it is a right pain, not having one.
- I have a few problems with the map conversion program which I have
- to look into and sort out, so the maps are displayed properly. I am also
- trying to fiddle with the screen update commands so that I can get the new
- screens up quicker. If I omit the double buffer commands, then everything
- works hunky dory, but the sprites all flicker like hell. I`m going to test
- it all on the screen designer, as well as update it a bit, and see if I can
- get that working better, before I implement it in the game. With a bit of
- luck, I can get the game running smoother as well, by dictating when the
- screen should update, rather than Amos deciding for me. We`ll see.
-
- Day 32: July 3rd 1993.
- ----------------------
- National bothered day. Programmers personal joke.
- I finally fixed up the map editor and map-to-bank convertor program
- to get it right and use compatible data. My big mistake really was using two
- different ways of storing the map data. One method (the first one) loaded
- each of the screens of the disk and just displayed them. The other used a
- different file format to load them into a bank, and the conversion process
- I used was choking on the two different types of data because I took short
- cuts instead of updating both prgs to use the new format. Lesson learnt - it
- was more hassle trying to sort it out, than it would have been if I had just
- done the updating in the first place - and I have realised that short cuts
- shouldn`t be used, as you very rarely get away with it.
- I also cracked the screen-draw routine. You could say I commited
- hypocrisy here, as it is sort of a short cut I used. Instead of trying to
- work out in great detail how to use the update and autoback functions - I
- have no manual to work from so it is difficult - I just closed the game
- screen off and opened it again, so I just double buffered after the screen
- is built. Remember the problem is with the double buffer command, which slows
- everything right down, and I don`t know a way to turn it off. Anyway, enough
- boring you, it works, and the player doesn`t die anymore of terminal boredoom
- between screens.
- Spent a little while modiftying some of the screens based on what
- I have realised from more extensive playing of the game, so the balance of
- play is a lot better tweaked now. Also did a bit more stripping (Oeerr!) of
- the main game code to adjust to the new screen system. No point in displaying
- the text "Setting screen. Please wait!", when the screen appears almost
- instantly, is there?
- With this screen update bit sorted out, the game is now totally
- playable - ie: no error reports and game stoppages - and indeed I have been
- playing it quite a lot, with the cheat mode on, working out the nescesary
- improvements. I`ll have to start with the warp-gates, as I just can`t have
- them like they are at the moment. It`s got to be like the arcade game, so it
- is bye-bye to the little animation I got so fond off.
- Ha,ha. Just found a bug after extensive level testing. The skill
- levels go up by one each time the player clears ten screens. Trouble is I
- told it when to stop going up, but I let it go higher than it should, and
- the ghosts are trying to update at a speed they can`t do. Result. CRASH!!!
- Must remember to sort that one out this session.
-
- Day 33: July 4th 1993.
- ----------------------
- Had a very productive session today. First stop was sorting out the routine
- for the end of levels, so that the ghosts don`t overlap the maximum speed
- they can legally move. That sorted, the warp routines were totally rewritten
- so that all the characters move like their arcade counterparts. It took a lot
- of fiddling with before I got it working properly, but, now it is working, it
- is a definite improvement. I did more work on tidying up the front-end, and
- resolving some of the glitches that I hadn`t noticed before. Put in a display
- for the last score etc so the player knows how well he did.
- I also got right into the nitty-gritty, by giving each ghost there
- own character. Before, eating a ghost would just reset its position only. Had
- to change that so a ghost can`t be regobbled unless another pill is eaten,
- though the others would still be available. This works much better, as the
- player can`t pick on the same one all the time, and it means more of a
- challenge, as the player is not totally invulnerable while under the effects
- of a powerpill. The inteligence was modified again, so that the ghosts that
- are vulnerable will try to stay away from you, while the others will go all
- out trying to protect their friends. The scoring now gives a higher score
- dependent on which ghost is gobbled etc, and generally just spent a long
- time synchronising the gameplay. More playtesting resulted in one hell of a
- dissapointing discovery: the programmer is not that good at his own game. I
- know I aimed to write an inteligent ghost movement routine but it looks like
- I even excelled myself. What a morale boost. It`s quiet fortunate that the
- ghosts start off moving a lot slower than pacman at the begining otherwise
- I wouldn`t have a hope in hell. On later levels, with my cheat mode on of
- course, the ghosts are hell to stay away from. Especially on the screens I
- have done with no powrer-pills and a smaller playing area. This is certainly
- challenging. I defy anyone to go through all ten default screens on the top
- level. I also made sure I wasn`t allowed to enter a high score if I played
- with the cheat mode on. Talk about having it to easy. If I leave the cheat
- mode in the game (Not sure yet) then I`ll leave that bit in as well, because
- I am thinking about having a mode to save highscores to disk and it would
- have ridiculous entries if the player did it while invincible.
- Did my final editing with the map-editor today. All the maps work
- just fine now, and the inteligence routine is smart enough to cope with
- anything I chuck it`s way. Just as well, as users will probably put in much
- better screens than I have come up with.
- There now follows a party political broadcast by the ....... Ooops,
- I mean a list of what`s left to do before I can finally put this game to
- rest.
-
- 1. End of level screen improvement. (I`m surprised I haven`t got round to it
- yet.)
- 2. Pacmans animation. (I have to go back to the sprite designer for this one,
- so who knows what else I might do while I am there.)
- 3. The map designer has to go in. (Probably at the end.)
- 4. The real code crunching has to get done. (Quiet an extensive job, now the
- game is so long.)
- 5. The following options.
- ----------------------
- Arcade/custom mode.
- Sound on/off.
- Thick/smart mode. (I might do this one. Not sure if it is nescesary.)
- Keyboard controls. (Not everyone likes using a joystick.)
-
- I`ve got the space in that little options box on the title screen now that
- I have reworked the front-end in, so a lot of these will probably be quiet
- easy to shove in. Still don`t know why I took them out, though.
- That`s the end for today. And what a day. Back soon.
-
- Day 34: 6th July 1993.
- ----------------------
- Didn`t get much done yesterday, as my friend was around playing the game to
- death. Got some much needed input, and some minor cosmetics were changed.
- Nothing major to report.
- Started off today`s session by putting in the option selection bits
- on the title screen. Everything is in place now, though I have yet to have
- them do anything. I did make a start on the arcade mode/normal mode toggle
- but because I`ve changed the player movement routine about so much, it`s
- going to need a little more work than I imagined. This will get done next
- time. I have decided to have the sound effects toggled in game by the S key
- and I am thinking along the lines of having the screen flash when the sound
- is off so that you know when pacman can gobble the ghosts. At the moment the
- ghosts do flash when they are vulnerable, but it`s a little too subtle. I
- also have to fiddle with the pointers on the meanies as they don`t work
- properly with the effects of the power pills. In other words some of them
- can be gobbled twice, and the power sometimes cuts out to soon. Need a little
- more fiddling there.
- I intended to work on the arcade mode again but I started messing
- about with some of the graphics commands instead, and got a new clearbox
- routine which looks much flasher than the boring little scroll I had before.
- Also got the end of level screen done, which now sort of chops bits out so
- that it has a faded background look and stamps down a bold message telling
- you that you cleared the level etc. Finally got some screen bounce effects
- in for losing a life and going back to the title screen etc. The between
- game effects are finished with now, as too much fiddling will probably ruin
- the effects. The game is now linked together properly, and it`s just a matter
- of getting the rest of the options in.
- Now that I know what my next project is going to be, I`ve been doing
- some preliminary coding to get one of the background routines done for that
- as well. Nothing major, but I`ve wanted to do a star background for ages, and
- so I`ve put one together which is 3d like Elite and I can play with the
- values to go in different directions. No it`s not going to be a 3d game like
- Elite, I am not at that stage yet, but the effect will be used for various
- information screens, and probably the title screen as well. A star background
- moving in different directions with the credits on it, is going to look well
- smart, although I have yet to get anything else apart from stars on screen
- yet. Like I said, it`s just a routine for the game, and I wrote it as a
- little diversion from Pacman. It will be a while before I move on to the
- game 100%.
- Back to Pacman tomorow. Hopefully for the grand finish.
-
- Day 35: July 8th 1993.
- ----------------------
- Got down to the final parts today and spent lots of time trying to put in a
- keyboard option which just would not work well enough, and had to be taken
- out again. The problem is that I don`t know how to clear the buffer of the
- keyboard, so if the player held down the left key for ages, then the program
- would keep trying to go left even after pacman has hit a wall, and other
- movements are frozen until the buffer is cleared. Gave up on it after a while
- - who still uses keyboard anyway - and moved on.
- Next on my list was the sound on/off option. Easy peasy. Press S in
- the game to toggle them.
- And then we came to the arcade/normal mode. As I said earlier, I had
- been having troubles with this since I took it out originally, so a lot of
- work was called for before I finally got it right. I made it in the end, even
- though there were many times I felt like just abandoning it and leaving the
- option out. Coward.
- I went on to do the final settings for the speed of player and ghost
- etc, and also dropped another skill level, as the game played far too slow
- on the easiest level, and my playtester said it should start a level up. Did
- some more synchronisation on the speed of everything depending on the level,
- powerpills being active etc, and making sure that the ghosts can never
- move faster than pacman. And that was it.
-
- The game is now complete.
-
- Bet that shocked you, huh! Thought I`d never get it finished, eh.
- Thirty five days in total, and he has finally done it. Technically I still
- have some work to do, though, because I have to go over the whole code, just
- tidying up in general, and shortening some of the routines etc. This should
- not be too major a job now because I have been preparing for this day, and I
- have done some of the work while I have been stuck in other parts.
- I finally decided not to have the Editor in with the main program, as
- I will have it as another compiled program with the game. I upgraded the
- editor for the final time today, just to incorporate the code to save all
- data to a bank which the game will use, and make the nescesary adjustments so
- that only the custom screens are available for editing.
- And there we have it. The game just needs tidying up. Then I can
- shove it and the editor through the compiler. I then have to set up a self-
- booting disk that will use workbench to load either the game, editor, or the
- diary as well as store all the backup files of the data used within the game.
- I`ll have an ascII dump of the source code on there as well so that
- anyone interested can fiddle with the game with their own version of Amos.
- I`ll leave all that until tomorow though, as I`ve had enough for one
- day, and fancy a blast on Project X. I`m thinking about submiting the disk to
- a P.D library to get some feedback. It will be interesting to see if they
- accept it, on the basis of an educational disk in Amos, or a tutorial. I
- don`t think the game will go on anyones top ten somehow, even though it does
- play quite well. We`ll see.
-
- Day 36: July 10th 1993.
- -----------------------
- Spent most of the day fixing my car, so no work got done on the game until
- very late today. Had two of my friends running through the game extensively
- today and got my final input for improvements and modifications.
- The opinion was that the Pacman moves to fast in powerpill mode, so
- that had to be toned down a bit. Also the ghost positions had to be reset
- each time the player loses a life. Before the player would just go in a loop
- of dying, if he died while a ghost was in his starting square. Not good.
- Also had to fix the game so that Pacman didn`t go off in the last
- direction set when he died at the start of a new life while in arcade mode.
- This usually led to him colliding straight into a ghost. Also not good.
- Fixed the cheat mode so that it is not accessed so easily. Study the
- source code if you want to know how to access it.
- Modified the game so that end of level and pause mode could be got
- out of with the fire button.
- Also went into the front end and put in a text message showing credit
- to all my playtesters, and modified the high score text accordingly. Put in
- a short routine to load/save & reset the scores as well from the title
- screen. That gives the player something to aim for.
- Finally got around to reworking all the code to strip out all the
- unescesary bits and shorten it all. No problems now, and the game works fine.
- Tomorow just involves setting up a disk for the game and relevant
- files and putting everything through the compiler. Then our saga is over.
- Until the next game anyway. See you.
-
- Day 37: July 12th 1993.
- -----------------------
- Looks like my problems are not quiet over yet. After doing half of the disk
- setting up buisness, I am having a few problems with the compiler. I am
- trying to get it to compile as workbench programs, but it doesn`t seem to
- like it. The game loads ok, but the screen just exits the game as soon as it
- starts. I haven`t used the compiler for anything major before, and something
- tells me that I am going to have to do a lot of fiddling before I get it
- right.
- And, just to put the knife in, every disk I seem to be using to save
- all the info on, seems to come up with a read/error. Probably because I have
- used up all my new ones, and have resorted to using old ones with stuff
- already on them that I don`t need anymore, or have consigned to my blank
- disk area for some reason - probably because I`ve seen the error before and
- forgotten about it. I`ll have to start from scratch and use a new one, as
- well as sorting out why the compiler is being so stubborn. It sometimes seems
- like my problems will never end.
- I just hope I don`t need to make anymore changes after I have
- compiled the game, otherwise I will have to do it all again, and it takes
- about ten minutes each time. Not to mention the hassle. I think another last
- playtesting session is called for. Back tomorow.
-
- Day 38: July 13th 1993.
- -----------------------
- At last.... It's official. Amos and I are talking again. After much fiddling
- with the Compiler, I have finally got the game compiled and running as it
- should. Had a heart attack almost when I loaded the compiled version and saw
- the speed it was running at. Had to reload the Amos version and change a few
- parametres etc so that everything remains at a playable pace. That done I
- finally found a disk that worked - Well, I never - and set up my system with
- the game,editor,data files,doc files,ASCII dumps and the nescesary files to
- get it all working independently of anything else. In other words it has its
- own workbench enviroment and is a self-booting disk.
- I have included all the nescesary instructions for getting the game
- back into Amos so anyone who feels inclined can modify the game to their own
- spec and recompile it if desired. Of course I would like my name to stay in
- the program, and not see it floating somewhere else with someone else taking
- all the credit - or flak as the case may be - for it.
- I still have to draw some Icons for all the files, but I can't see
- this being a major problem even if I haven't used workbench in a long time.
-
- Epilogue:
- ---------
- This is normally the bit where an author would say: "The butler did it", or
- something like that, but seeing as this is not a book, I will have to come
- up with something more original.
- In creating this game, I have spent countless hours hunched over the
- keyboard, deep in thought, banging my head against the wall, having my finger
- hovering with menace over the format button, having writers cramp after many
- hours working routines on paper and many jubilant moments when things finally
- were going right. In other words, I have enjoyed every minute of it, and I am
- hoping that some of this satisfaction is passed over to you the user.
- Before signing off for the final time, I would just like to say a few
- thank-you's to some people who have helped me greatly in my quest for
- getting-it-right.
-
- Please stand and take a bow the following:
-
- Lee Stothers (Mega bothered) for testing it at several stages and complaining
- when it was either to hard or to easy. Not to mention always cheating with my
- cheat mode option. That's mine; keep yer hands off, pal!!
-
- Gary Pearce (Doc) for doing the final playtesting and giving me a detailed
- list of what was wrong, and how to improve it. Sorry I couldn't configure the
- arcade mode to your exact specs' but I did my best.
-
- Carl Manley for having the first test on a very early version of the game -
- ie: no monsters and jerky movement on Pacman - and coming up with the most
- honest statement I have yet to hear: "Basically, it's crap." I hope it's
- better for you now, honey. Ha,ha. Hope you die soon.
-
- Thank-you's in great abundance go out to the following magazines for using
- some of their files in the game.
-
- C U amiga - for giving me Amos in the first place.
- Amiga format - for the groovy Game over sample, and the tracker tune
- on the high score table.
- Amiga computing - for the Blue Monday soundtrack from one of their
- very old coverdisks. Even if I did think it was True
- faith by New order for a long time.
-
- Special Thank you to Clare - my trusty red Capri - which has just broken down
- on me for the second time in a week. That's it. I'm trading you in on a
- Skoda.
-
- Finally, thanks to my job for keeping me away from the computer whenever I
- had something realy important to do on the game, and forgot about when I
- finally finished my shift. Never work as a duty-manager at a Pizza hut. The
- hours are terrible. Though it is handy when I need transport. Sales rep's
- get Vauxhall Cavaliers; I get a company Moped. 49cc Turbo no less. What a
- great career. Not.
-
- To close, I must say a thank you to you for taking the time to read me
- waffling on and I hope this disk and its material is of some use to you in
- whatever form. Remember to drop me a line for any comments or suggestions
- etc. My letterbox is always open. The address is in the read-me file also on
- this disk.
-
- Thank you. Have fun.
-
- Tony Brice. 13th July 1993.
-